サーバーサイドのみ
ウェブアプリやモバイルアプリ内の本番キーは公開キーです。配布されたコードは読み取り可能であり、難読化は暗号化ではありません。APIはサーバーから呼び出してください。
Developers
今日の見積もりエンドポイントの保護方法、キーの発行方法、および公開リポジトリ内の本番キーという古典的な結果を回避する処理ルール。
見積もりエンドポイントは公開されており、キーは不要です。この選択は擁護可能です: 見積もりは個人データを読み書きせず、統合はアカウントが存在する前に価格を表示できなければなりません。
まだ整備されていないもの
このエンドポイントには現在レート制限は適用されていません。強制されていないクォータ表を表示するよりも、これを書くほうがましです: 制限が存在する日には、その値、応答ヘッダー、超過時に返されるコードとともにここに公開されます。
キーはそのプレフィックスに環境を保持します。本番環境で機能したテストキーは設計上の欠陥です: シミュレートしていると思っていた実際の転送が可能になります。
Authorization: Bearer sk_live_9f2c4b1e8a7d3f60c5b2a1e9d8c7b6a5| プレフィックス | 環境 | 許可される操作 |
|---|---|---|
sk_test_ | サンドボックス | すべての操作は、シミュレートされたデータで行われます。実際の資金移動はなく、決済機関への呼び出しもありません。レールの遅延はシミュレートされるため、テストは本番環境と同じ待ち時間に直面します。 |
sk_live_ | 本番環境 | 実際の操作。このキーで作成された注文は資金を移動させるため、サーバーから決して離れてはなりません。 |
whsec_ | 両方 | ウェブフック署名シークレット。APIの呼び出しには使用されず、受信したものが本当に当社からのものであることを検証するだけです。 |
どれも独創的ではありません。どれも定期的に破られており、それがキーが漏洩する方法です。
ウェブアプリやモバイルアプリ内の本番キーは公開キーです。配布されたコードは読み取り可能であり、難読化は暗号化ではありません。APIはサーバーから呼び出してください。
クエリパラメータとして、キーはサーバーログ、リファラーヘッダー、ブラウザ履歴に残ります。Authorizationヘッダーがこのために存在します。
3つのサービスで共有されたキーは、3つすべてを壊さずに失効させることはできません。使用ごとに1つのキーがあれば、失効は簡単です。
誤ってリポジトリにプッシュされたキーは、プライベートなものでも、後で削除されたものでも、危険にさらされています。履歴がそれを保持し、クローラーは数分以内に公開リポジトリを読み取ります。
同時に有効な2つのキーにより、利用不能な期間なしでローテーションできます。