Приведенные ниже токены возвращаются при первоначальном запросе токена с 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
?