ログイン呼び出しのヘッダーでセキュリティ トークン (GUID) を返す WebAPI があるとします。
理想的には、30 分以内にさらに電話を受けたいと考えており、電話を受けるたびにトークンを変更してさらに 30 分を取得する必要があります。
制約: セッションを使用できません。
WebAPI 環境で特定のヘッダー値に有効期限を設定する正しい方法は何ですか?
ログイン呼び出しのヘッダーでセキュリティ トークン (GUID) を返す WebAPI があるとします。
理想的には、30 分以内にさらに電話を受けたいと考えており、電話を受けるたびにトークンを変更してさらに 30 分を取得する必要があります。
制約: セッションを使用できません。
WebAPI 環境で特定のヘッダー値に有効期限を設定する正しい方法は何ですか?
GUID を送信する代わりに、トークンを構造化データに変更できます。例: JWT
トークンを生成する一般的な手順は次のとおりです。
トークンを受け取る手順は、上記の手順を逆にするだけです。
サーバー コードで有効期限を取得したら、トークンを更新する必要があるかどうかを判断できます。上記の手順は、実際に ASP.NET で Cookie 認証が行うことです。
トークン ヘッダー ベースの認証の場合、OAuth 2.0 仕様に従って、リフレッシュ トークンを使用してトークンの有効期限を延長することをお勧めします。
ところで、Owin OAuth ミドルウェアはすでに oauth ベアラー トークンをサポートしています。SPA テンプレートでの動作についてのブログがあります。独自のものを発明する代わりに、それを使用することを検討してください。ありがとう。
[更新] OAuth 2.0 フローに従わずにベアラー トークン認証を簡素化する別のサンプル プロジェクトをアップロードしました。