Fiatside

Developers

Автентифікація

Як кінцева точка котирування захищена сьогодні, як видаватимуться ключі та правила обробки, що дозволяють уникнути класичного результату: виробничий ключ у публічному репозиторії.

01

Сьогодні

Кінцева точка котирування відкрита та не потребує ключа. Вибір виправданий: котирування не читає та не записує персональні дані, а інтеграція має мати можливість показати ціну до створення облікового запису.

Чого ще немає

На цій кінцевій точці сьогодні не застосовується жодне обмеження швидкості. Ми краще напишемо це, ніж покажемо таблицю квот, яка не виконується: у день, коли обмеження з'явиться, воно буде опубліковане тут із його значеннями, заголовками відповіді та кодом, що повертається при перевищенні.

02

Ключі, коли їх буде видано

Ключ несе своє середовище у своєму префіксі. Тестовий ключ, який працював у виробництві, був би конструктивною вадою: він робить можливим реальний переказ, який ви думали, що симулюєте.

Заголовокhttp
Authorization: Bearer sk_live_9f2c4b1e8a7d3f60c5b2a1e9d8c7b6a5
Ключі, коли їх буде видано
ПрефіксСередовищеЩо воно дозволяє
sk_test_ПісочницяКожна операція на симульованих даних. Жодного реального руху коштів, жодного звернення до платіжної установи. Затримки платіжних каналів симулюються, щоб ваші тести стикалися з тими самими очікуваннями, що й у продакшені.
sk_live_ПродакшенРеальні операції. Замовлення, створені з цим ключем, рухають гроші: він ніколи не повинен покидати ваш сервер.
whsec_ОбидваСекрет підпису вебхуків. Він ніколи не використовується для виклику API: він лише перевіряє, що отримане вами дійсно надходить від нас.
03

Правила поводження

Жодне з них не є оригінальним. Усі вони регулярно порушуються, і саме так ключі витікають.

Лише на сервері

Продакшн-ключ у веб- або мобільному застосунку — це публічний ключ: опублікований код можна прочитати, а мініфікація — це не шифрування. Викликайте API зі свого сервера.

Ніколи в URL

Як параметр запиту ключ потрапляє в журнали сервера, заголовки реферера та історію браузера. Заголовок Authorization існує саме для цього.

Один ключ на інтеграцію

Ключ, який використовують три сервіси, неможливо відкликати, не зламавши всі три. Один ключ на використання робить відкликання безболісним.

Негайне відкликання за будь-якого сумніву

Ключ, випадково надісланий до репозиторію, навіть приватного, навіть якщо його потім видалили, скомпрометований: історія його зберігає, а краулери читають публічні репозиторії протягом хвилин.

04

Ротація без простою

Два одночасно дійсні ключі дозволяють ротацію без вікна недоступності.

  1. 1.Випустіть другий ключ. Обидва дійсні одночасно.
  2. 2.Розгорніть новий ключ на ваших серверах, по одному за раз.
  3. 3.Переконайтеся, що новий ключ отримує трафік, а старий — ні.
  4. 4.Відкличте старий. Відкликання миттєве, без пільгового періоду.
05

Чого ми ніколи не робитимемо

  • Ми ніколи не попросимо ваш ключ електронною поштою, у чаті чи телефоном. Підтримці він не потрібен: вона працює з ідентифікатором ключа, а не з секретом.
  • Ми ніколи не показуємо секретний ключ двічі. Він видимий під час створення, а потім лише його ідентифікатор та останні чотири символи.
  • Ми не надсилаємо ключі електронною поштою. Електронна пошта проходить через і зберігається занадто багатьма сторонами.