我正在使用OAuth2代码流,并尝试在我的访问令牌中重新获得用户的组。我正在阅读的所有内容都说我应该看到一个groups索赔或一个hasgroups索赔,但我都看不到。
我为我的客户端应用更改了应用注册清单中的以下字段:
"groupMembershipClaims": "SecurityGroup", "optionalClaims": { "idToken": [], "accessToken": [ { "name": "groups", "source": null, "essential": false, "additionalProperties": [ "dns_domain_and_sam_account_name" ] } ], "saml2Token": [] },
这是我的查询字符串的登录重定向URL(login.microsoftonline.com)的示例...
client_id=<clientId> &response_type=code &redirect_uri=<redirectUri> &response_mode=query &scope=<appScope>%20offline_access &state=67890
这是我使用authCode请求令牌的查询字符串的示例(login.microsoftonline.com/{tenantId}/oauth2/v2.0/token)
client_id=<clientId> &scope=<uriEncodedScopes>%20offline_access &redirect_uri=<uriEncodedRedirectUri> &code=<authCode> &client_secret=<uriEncodedClientSecret> &grant_type=authorization_code
一切都很好,但是我不知道如何在我的令牌中找回组信息。
UPDATE
[我在两个URL中都将%20openid添加到了我的作用域中,现在我得到了id_token,但是在两个令牌中我仍然看不到“ groups”或“ hasgroups”。
UPDATE
我刚刚向我的API应用注册(而不是我的客户端)添加了相同的清单更改(groupMembership,optionalClaims)-公开范围的API,但我看不到任何更改。访问令牌和ID令牌根本没有对组的任何引用。
我正在使用OAuth2代码流,并尝试在我的访问令牌中重新获得用户的组。我正在阅读的所有内容都表明我应该看到一个团体索赔或一个hasgroups索赔,但我都看不到。我有...
根据我的测试,应该可以。您只需要在API App注册中配置groupMembershipClaims
,optionalClaims
,请参考下面的reason。