【发布时间】:2021-05-26 14:49:45
【问题描述】:
我正在使用https://login.microsoftonline.com/.../oauth2/v2.0/token 使用范围对 azure Ad 进行身份验证(授权码授予):offline_access、openid、profile、User.Read
根据文档,我收到的访问令牌应该包含用户的角色: https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens
但是只有身份令牌返回角色:
--Access Token
{
"typ": "JWT",
"nonce": "IWTwK2P0vzHoNnv1vvvSsjZSbAYPpSIk8MozY0A4WR0",
"alg": "RS256",
"x5t": "nOo3ZDrODXEK1jKWhXslHR_KXEg",
"kid": "nOo3ZDrODXEK1jKWhXslHR_KXEg"
}.{
...
"rh": "0.ASgASPp-HouAsUyXCdG05vvfeHAoPPG46TFOoWYsil-LDcsoADw.",
"scp": "User.Read profile openid email",
...
}.[Signature]
--Identity Token
{
"typ": "JWT",
"alg": "RS256",
"kid": "nOo3ZDrODXEK1jKWhXslHR_KXEg"
}.{
...
"rh": "0.ASgASPp-HouAsUyXCdG05vvfeHAoPPG46TFOoWYsil-LDcsoADw.",
"roles": [
"MyApp.Read",
"MyApp.Admin",
"MyApp.Write",
],
...
}.[Signature]
有没有办法让访问令牌也包含角色?
【问题讨论】:
-
你好,卡尔。我会在一天结束之前投票并接受。我只是给其他人时间来回应。
-
好的,美好的一天:)
-
嗨,这对你有帮助吗?
-
默多克,我认为您应该投票并接受答案。我遇到了同样的问题,感谢@CarlZhao 的回答,我设法解决了这个问题。
标签: c# asp.net-core active-directory azure-active-directory azure-ad-graph-api