googleapiに対してoauth2を実行しようとすると、次の結果が得られました。1つだけ:ドキュメントでid_tokenが何に使用されているかが見つかりませんでした。
{
"access_token": "xxxx",
"token_type": "Bearer",
"expires_in": 3600,
"id_token": "veryverylongstring",
"refresh_token": "abcdefg"
}
googleapiに対してoauth2を実行しようとすると、次の結果が得られました。1つだけ:ドキュメントでid_tokenが何に使用されているかが見つかりませんでした。
{
"access_token": "xxxx",
"token_type": "Bearer",
"expires_in": 3600,
"id_token": "veryverylongstring",
"refresh_token": "abcdefg"
}
id_tokenはJSONWebToken(JWT)です。デコードすると、ユーザーのIDを含む複数のアサーションが含まれていることがわかります。詳細については、この回答を参照してください。
id_tokenは、OpenID Connectプロトコルで使用され、ユーザーは認証および承認されます。(認証と承認には重要な違いがあります。)id_tokenとaccess_tokenを取得します。
id_token値には、ユーザーの認証に関する情報が含まれています。IDトークンは、OpenIDプロバイダー(OIDP)によって署名された標準のJWT形式のIDカードの概念に似ています。これを取得するには、クライアントは認証要求を使用してユーザーをOIDPに送信する必要があります。
IDトークンの機能:
IDトークンステートメントまたはクレームは、単純なJSONオブジェクトにパッケージ化されています。
{
"sub" : "alice",
"iss" : "https://openid.c2id.com",
"aud" : "client-12345",
"nonce" : "n-0S6_WzA2Mj",
"auth_time" : 1311280969,
"acr" : "c2id.loa.hisec",
"iat" : 1311280970,
"exp" : 1311281970
}