プロバイダで認証された後、アプリケーションは、ユーザーに代わってIDトークンとアクセストークンの両方を受信することがよくあります。今は、ユーザーが誰であるかを示す2つの方法があるようです。IDアサーションのIDトークンまたは/ userinfo
- IDトークンを確認し、IDトークンを読み取ってください。
- アクセストークンをuserinfoエンドポイントに渡し、JSON応答を読み取ります。
どちらも許容可能な手段のようですが、いずれか一方を使用する必要があるシナリオがありますか?
プロバイダで認証された後、アプリケーションは、ユーザーに代わってIDトークンとアクセストークンの両方を受信することがよくあります。今は、ユーザーが誰であるかを示す2つの方法があるようです。IDアサーションのIDトークンまたは/ userinfo
どちらも許容可能な手段のようですが、いずれか一方を使用する必要があるシナリオがありますか?
トークンとIDトークンの両方が必要な場合は、どちらの方法でも使用できます。以下は、私の頭に浮かんだいくつかの相違点である。(あなたはその証明書が既にローカルにダウンロードした場合)
技術的な違いに加えて、意味の違いもあります:id_token
とそこにある情報は、認証されたユーザーを表しています。そのユーザーは「存在」し、アプリケーションにログインします。
access_token
であり、userinfoエンドポイントから返される情報は、それを提示するエンティティにアクセストークンを発行したユーザーに関する情報を表します。そのユーザーは「存在する」またはログインする必要はありません。
アンid_token
は、典型的には、「ワンタイム使用量」であるとaccess_token
は、通常、時間の短い期間のために使用することができます。
ユーザーがOpenID Connectを使用してログインすると同時にトークンが両方とも発行されて受信された場合、その2つは重複します。