【发布时间】:2019-09-03 06:57:51
【问题描述】:
以下令牌是在向 Azure AD B2C 发出初始令牌请求时返回的。 access_token 包含id_token 包含的大部分信息。
我的问题是:
1 既然access_token 包含了id_token 所包含的大部分信息,那么access_token 可以在什么场景中代替id_token?什么场景必须使用id_token 而不是access_token?
2 关于使用access_token 和id_token 的一般规则是什么?
初始令牌请求的结果
{
"access_token": "access_token",
"token_type": "Bearer",
"expires_in": "3600",
"refresh_token": "refresh_token",
"id_token": "id_token"
}
以下是各个令牌的解码令牌:
请注意access_token 包含来自id_token 的大部分信息,包括用户信息。
access_token
{
"iss": "url",
"exp": 1550539339,
"nbf": 1550535739,
"aud": "audience ",
"idp": "LocalAccount",
"sub": "guid",
"name": "user@email.com",
"emails": [
"user@email.com"
],
"tfp": "B2C_1_ROPC_Auth",
"ver": "1.0",
"iat": 1550535739,
"azp": "guid"
}
id_token
{
"iss": "url",
"exp": 1550539339,
"nbf": 1550535739,
"aud": "audience ",
"idp": "LocalAccount",
"sub": "guid",
"name": "user@email.com",
"emails": [
"user@email.com"
],
"tfp": "B2C_1_ROPC_Auth",
"ver": "1.0",
"iat": 1550535739,
"auth_time": 1550535739,
"at_hash": "access_token hash"
}
更新
对上述问题 1 的进一步说明:
由于access_token 包含id_token 包含的大部分信息,是否可以使用access_token 代替id_token?也就是说,什么时候必须使用id_token而不是access_token?
【问题讨论】:
标签: oauth-2.0 single-sign-on access-token openid-connect azure-ad-b2c