サーバー側認証のない API を構築しています。セッション用に一意のキー (キーが非常に長く、推測できないと想定) が生成されますが、クライアントには Cookie が設定されません。クライアントは、AJAX を使用する Web ブラウザー、CURL を使用する PHP スクリプト、またはデスクトップ アプリケーションです。私が想像している通常の取引プロセスは次のようになります。
最初の出会い
- クライアントは start_session メソッドを呼び出して最初のリクエストを行います
- サーバーはキーを生成し、それをいくつかの初期データとともに返します
- クライアントは、後で使用するためにキーを保存します (たとえば、JavaScript はキーを使用して Cookie を設定します)。
次のリクエスト
- クライアントはサーバーに再度リクエストし、set_data メソッドを呼び出して元のセッション キーを提供し、クレジット カード番号や訴訟に関する情報などのプライベート データをロードします。
- サーバーが応答し、 が成功メッセージで応答します
別のリクエスト
- クライアントはサーバーに再度要求し、元のセッション キーを提供して get_data メソッドを呼び出します。
- サーバーは、すべてのプライベート データを何らかの形式 (XML、JSON など) で応答します。
セッション キーは、使用しないと 20 分で期限切れになり、すべての API URI で SSL が必要になります。
私の懸念/質問は: クライアントがセッションキーを漏らしたかどうかについて心配する必要がありますか? 認証がなければ、元のリクエスタがセッション キーを非公開にしていると信じています。これは一般的/安全な慣行ですか?