【发布时间】:2022-01-27 17:30:02
【问题描述】:
当使用 implicit grant flow 从 Azure 请求令牌和 id_token 时,使用类似的请求
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=token%20id_token
&redirect_uri=http%3A%2F%2Flocalhost
&scope=openid%20user.read
&response_mode=fragment
&state=12345
&nonce=678910
我已成功收到带有“access_token”和“id_token”的回复。
根据我的阅读,在解码“id_token”时,我应该看到有关用户的信息(如姓名、电子邮件、图片等),而应该使用“access_token”(不应解码)用作“授权”标头中的“承载”令牌。
当我使用https://jwt.ms 查看令牌详细信息时,“access_token”是带有用户详细信息的那个,而“id_token”没有。
当我尝试使用“access_token”访问我的 API 时,它不允许,但如果我使用“id_token”访问它,它会允许。
这似乎与文档相矛盾,所以我想知道是否有人可以为我澄清一下?
【问题讨论】:
标签: azure oauth-2.0 jwt access-token