Только на стороне сервера
Продакшен-ключ внутри веб- или мобильного приложения — это публичный ключ: опубликованный код читаем, а минификация — не шифрование. Вызывайте API со своего сервера.
Developers
Как конечная точка котирования защищена сегодня, как будут выпускаться ключи и правила обработки, позволяющие избежать классического исхода: производственный ключ в публичном репозитории.
Конечная точка котирования открыта и не требует ключа. Этот выбор оправдан: котировка не читает и не записывает персональные данные, а интеграция должна иметь возможность показать цену до создания аккаунта.
Чего ещё нет
Никакого ограничения частоты запросов на этой конечной точке сегодня не применяется. Мы предпочитаем написать это, чем показывать таблицу квот, которая не соблюдается: в день, когда лимит появится, он будет опубликован здесь со своими значениями, заголовками ответа и кодом, возвращаемым при превышении.
Ключ содержит свою среду в префиксе. Тестовый ключ, который работал бы в производстве, был бы конструктивным недостатком: он делает возможным реальный перевод, который вы думали, что имитируете.
Authorization: Bearer sk_live_9f2c4b1e8a7d3f60c5b2a1e9d8c7b6a5| Префикс | Среда | Что она позволяет |
|---|---|---|
sk_test_ | Песочница | Все операции на симулированных данных. Никакого реального движения средств, никаких обращений к платёжному институту. Задержки каналов симулированы, поэтому ваши тесты сталкиваются с теми же ожиданиями, что и в продакшене. |
sk_live_ | Продакшен | Реальные операции. Заказы, созданные с этим ключом, перемещают деньги: он никогда не должен покидать ваш сервер. |
whsec_ | Оба | Секрет подписи вебхуков. Он никогда не используется для вызовов API: он только проверяет, что получаемое вами действительно исходит от нас. |
Ни одно из них не оригинально. Все они регулярно нарушаются, и именно так ключи утекают.
Продакшен-ключ внутри веб- или мобильного приложения — это публичный ключ: опубликованный код читаем, а минификация — не шифрование. Вызывайте API со своего сервера.
Будучи параметром запроса, ключ попадает в журналы серверов, заголовки referrer и историю браузера. Заголовок Authorization существует именно для этого.
Ключ, используемый тремя сервисами, нельзя отозвать, не нарушив работу всех трёх. Один ключ на одно использование делает отзыв безболезненным.
Ключ, случайно отправленный в репозиторий, даже частный, даже удалённый позже, скомпрометирован: история хранит его, а краулеры читают публичные репозитории в течение минут.
Два одновременно действительных ключа позволяют ротацию без окна недоступности.