PHP 5.4 を使用して REST API を構築しており、独自のカスタム認証ライブラリを入れています。私は 2-legged OAUTH が使用する形式に厳密に従っています。(参照: http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/ )
この仕様に従って、ユーザーを安全に認証できるように、リクエストごとに送信する必要があるいくつかのメタデータがあります。
- AppId -> これは、リクエストの送信者を確認するためのものです。また、サーバー側の HMAC チェックサムを生成するために使用する秘密鍵を知ること。
- タイムスタンプ -> これはリプレイ攻撃に対処するためのものです。
- チェックサム -> これは、リクエストが改ざんされていないことを確認するための HMAC ハッシュです。
- AccessToken -> 最初の認証後にすべてのリクエストで使用されます。
このすべてのメタデータを送信するためのベスト プラクティスは何でしょうか?
カスタムヘッダーを作成して、そこに送信することを考えていました。このようにして、関数が必要とする実際のパラメーターからこのデータを分離できましたが、それがベスト プラクティスであるかどうかはわかりません。
例: MY-API-APP-ID: 243242、MY-API-TIMESTAMP: 123123123 など...
または
これらすべてをすべてのリクエストでパラメーターとして渡す必要がありますか?
GET メソッドはどうですか? クエリ文字列に配置するだけでよいでしょうか? (?timestamp=12312312&appId=123123...)
ありがとう!