Google の実装で OpenID Connect を実装する方法を調査していますが、ID トークンを最初に受け取った後、ユーザーとのトークンベースのリクエスト認証を処理する方法が不明です。私の質問は、「標準的な」慣行とは何ですか? 少なくとも2つのオプションがあるようです。
OIDC プロバイダーの ID トークンをヘッダーまたは Cookie でクライアント JS に渡し、後続の REST API 呼び出しでベアラー ヘッダーでトークンを渡すようにします (要求ごとにサーバー側で検証します)。
新しい JWT を生成し、#1 と同じプロトコルに従います。
JWT の有効期限が切れた場合、どのように進めるのが最善ですか? アプリケーションが JWT を生成している場合、新しいものを自動的に生成する典型的なプロセスはありますか (オプション #2)? OIDC プロバイダーのトークンを認証トークンとして使用する場合 (オプション #1)、prompt=none を使用して認証プロセスを繰り返すのが一般的ですか?
ログイン中にサーバーセッションに保存される「状態」値を使用する代替手段があるかどうかも興味があります。サーバー固有のセッションを作成することは避けたいです。状態に JWT を使用し、認証コードを使用してクライアントから返されたときにそれを検証することは安全ですか?
私は認証機能にのみ関心があり、OAuth によって提供される追加の API はこの時点では必要ありません。