Azure OAuth2代码流-没有组要求访问令牌(也没有“ hasgroups”)]]

问题描述 投票:0回答:1

我正在使用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索赔,但我都看不到。我有...

azure oauth-2.0 claims
1个回答
0
投票

根据我的测试,应该可以。您只需要在API App注册中配置groupMembershipClaimsoptionalClaims,请参考下面的reason

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.