リクエスト署名
リクエスト署名
リクエストフォーマット
シグネチャーペイロード
主なルール:
timestampはUnixのミリ秒タイムスタンプでなければなりません。サーバー許容範囲は±10秒です。signatureは URL クエリ文字列に配置されますが、署名ペイロードには含まれていません。- サーバーは
signatureを削除した後に元のクエリ文字列を検証します;クエリパラメータの順序を変えることはありません。 - 署名に用いられるクエリパラメータの順序は、実際のリクエスト URLと一致しなければなりません。
- リクエスト本体が存在する場合、署名に使われる JSON 文字列は実際に送信された本体と正確に一致しなければなりません。
- 順序関連パスは署名のリプレイチェックを行います。同じ署名を短時間内に再利用すると
Signature replay detected返されます。
サーバータイム
回答例:
クライアントは timeOffsetMs = serverTimestampMs - localTimestampMsを計算し、その後の署名要求に対して timestamp = nowMs + timeOffsetMs を使用すべきです。サーバーが Timestamp outside of tolerance windowを返した場合は、直ちに時刻を再同期し、署名を再生成します。
GET 署名例
実際の要望:
シグネチャーペイロード:
POST 署名例
実際の要望:
要請本体:
シグネチャーペイロード: