Agent SDK 秘密と HMAC 署名

エージェント API 認証情報を保護し、 SDK がどのようにタイムスタンプ付きで再生耐性のある HMACを生成するかを理解しましょう。SHA256 リクエスト署名を取得できます。

Markdownとして表示

リクエストAgent SDK パートナーAPI 秘密で認証されます。その秘密は信頼できるバックエンドサービス内に保管し、可能な限りSDK が署名フィールドを生成できるようにします。

2つの署名プロトコル

Agent SDK 署名はソートされたリクエストフィールド、秒単位のタイムスタンプ、そしてノンスを使用します。ダイレクト開発者 API リクエストは、以下で説明されている別のプロセスを用います。 リクエスト署名.一方のペイロードフォーマットをもう一方に使い回さないでください。

署名ルール

Agent SDK リクエストについて:

  1. sign 場を除外する。
  2. 空の値を使ったフィールドを省略する。
  3. 残りのフィールド名を ASCII 順に並べ替えます。
  4. 畑に加わるk=v&k2=v2
  5. HMAC-SHA256 十六進署名を apiSecretで計算します。

SDK は送信する同じデータからこの値を構築すべきです。署名生成後に署名付きフィールドを変更すると、検証が失敗します。

SDK-管理フィールド

フィールド出典概要
agentCodeSDK 設定パートナーエージェントコード。
タイムスタンプ現在のサーバー時間Unixのタイムスタンプは数秒で表示されます。
ノース安全なランダムな値リプレイ保護ランダム文字列。
標識HMAC-SHA256署名をお願いします。
通貨デフォルト通貨通貨を省略する際 API 送金や口座の際に使われます。

秘密の保管

  • バックエンドのシークレットマネージャまたは保護されたランタイム構成から apiSecret をロードする。
  • 秘密をフロントエンドバンドル、モバイルアプリ、デスクトップクライアント、スクリーンショット、サポートチケットに絶対に置かないでください。
  • 開発、ステージング、制作の資格を分けて管理すること。
  • それを必要とするサービスやオペレーターへのアクセスを制限すること。
  • ログからの要求署名、認可値、秘密情報の編集。
  • 露出が疑われた場合、資格情報を取り消し、再発行する。

時計と再生保護

SDK にはリプレイリスクを減らすためのtimestampnonceが含まれています。バックエンドのクロックは同期させ、手動で構築したnonceの再利用は避けてください。シグネチャ検証が失敗した場合は、設定されたシークレット、サーバー時間、シリアライズ済みフィールド、環境を確認してから再挑戦してください。

統合チェックリスト

チェック予想結果
秘密の場所バックエンド専用の秘密ストレージ。
環境ベース URL と資格は同じ環境に属しています。
フィールドハンドリングSDK は timestampnoncesignを生成します。
伐採事業者IDは認証情報が黒塗りされている間、引き続き表示されます。
回転資格取得者および交換手続きは文書化されています。