当我尝试对 googleapi 执行 oauth2 时,我刚刚得到以下结果。只有一件事:我在文档中找不到 id_token 的用途。
{
"access_token": "xxxx",
"token_type": "Bearer",
"expires_in": 3600,
"id_token": "veryverylongstring",
"refresh_token": "abcdefg"
}
当我尝试对 googleapi 执行 oauth2 时,我刚刚得到以下结果。只有一件事:我在文档中找不到 id_token 的用途。
{
"access_token": "xxxx",
"token_type": "Bearer",
"expires_in": 3600,
"id_token": "veryverylongstring",
"refresh_token": "abcdefg"
}
id_token 是 JSON Web 令牌 (JWT)。如果您对其进行解码,您会看到它包含多个断言,包括用户的 ID。有关更多详细信息,请参阅此答案。
id_token用在 OpenID Connect 协议中,在该协议中用户被认证和授权。(身份验证和授权之间有一个重要区别。)您将获得id_token和access_token。
id_token值包含有关用户身份验证的信息。ID 令牌类似于身份卡的概念,采用标准 JWT 格式,由 OpenID 提供者 (OIDP) 签名。要获得一个,客户端需要通过身份验证请求将用户发送到他们的 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
}