API署名は、リクエストの真正性と完全性を検証するセキュリティメカニズムです。本ガイドでは、Apidogで署名生成を自動化し、各リクエストごとに署名を手動で取得する必要をなくす方法を示します。署名自動化戦略#
各リクエストの前に署名エンドポイントへ手動でアクセスする代わりに、Apidogのスクリプト機能を使用して次のことを行います。1.
署名ロジックを実装するパブリックスクリプトを作成する
3.
スクリプトまたは環境変数を介して署名をリクエストに付与する
4.
APIプリプロセッサでパブリックスクリプトを参照する
実装方法#
方法1:スクリプトの直接変更#
環境変数を使用せずに、スクリプトを介して署名パラメータを追加し、リクエスト情報を直接 変更します。方法2:環境変数#
署名を生成して環境変数に書き込み、その変数をAPIパラメータで参照します。方法3:外部プログラム#
他の言語で実装された署名の場合は、dog.executeメソッドを使用して外部プログラムを呼び出します。例:MD5ベースの署名#
署名生成ルール#
2.
パラメータをASCIIコードの昇順(辞書順)で並べ替える
3.
パラメータをURLのキー値形式で連結する:key1=value1&key2=value2...
パラメータ名をASCIIコードの昇順で並べ替えます
1.
stringAの末尾にキーを連結してstringSignTempを取得する
2.
stringSignTempにMD5アル ゴリズムを適用する
3.
結果を大文字に変換してsignValueを取得する
パブリックスクリプトの実装#
例:翻訳API署名#
署名生成ルール#
q:翻訳するテキスト(UTF-8エンコーディング)
key:プラットフォームにより割り当てられたキー(管理コンソールで確認可能)
結果:appid + q + salt + key連結した文字列にMD5アルゴリズムを適用して、32ビットの小文字署名を取得します。翻訳 するテキスト(q)はUTF-8エンコーディングである必要があります
appid+q+salt+keyを連結する際、qにURLエンコーディングを適用しないでください
署名が生成された後、HTTPリクエストを送信する前にqにURLエンコーディングを適用してください
リクエスト例#
パブリックスクリプトの実装#
ベストプラクティス#
| プラクティス | 説明 |
|---|
| 環境変数を使用する | 機密性の高いキーはスクリプトではなく環境変数に保存します |
| パラメータを検証する | 署名を生成する前に必須パラメータを確認します |
| デバッグ用にログを出力する | console.log()を使用して署名生成の問題をデバッグします |
| エッジケースに対応する | 空の値、特殊文字、エンコーディングを考慮します |
| ロジックを一元化する | 署名ロジックの重複を避けるためにパブリックスクリプトを使用します |
| 十分にテストする | 既知のテストケースで署名生成を検証します |
Modified at 2026-06-11 07:06:02