Azure AD访问令牌不包含组声明

0tdrvxhp  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(157)

我正在使用curl命令获取访问令牌,我能够使用curl命令与客户端凭据获取访问令牌。

curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=client_credentials&client_id={client_id}&client_secret={secret}' https://login.microsoftonline.com/{tentant_id}/oauth2/v2.0/token

但访问令牌不包含组声明。
如何在访问令牌中获取组。。?任何帮助都很感激

jk9hmnmh

jk9hmnmh1#

你可以参考这份文件
如果要使用“公开API”选项公开Web API,则还可以选择“访问”部分下的“组ID”选项。
因此,当您在Token configuration刀片中添加组声明时,需要在“Access”中选择“group id”

你还需要在Azure Portal中查看Azure广告应用的manifest文件,如果groupMembershipClaims声明为空值,你可以将其设置为All,请参阅本节。
如果您需要为Azure广告应用程序添加组,请转到Azure广告-〉企业应用程序-〉查找您的应用程序-〉用户和组

然后你需要“暴露一个API”,遵循this document,然后你需要在你的azure ad应用程序中添加api权限,用于生成访问令牌。
下面的屏幕截图是由ropc流生成的访问令牌。但实际上,我用客户端凭证流测试,我不能得到groups声明。在我看来,这是因为客户端凭证流与用户无关,甚至与用户组无关。

yacmzcpb

yacmzcpb2#

在token请求中包含作用域,其值为API://4564664- 534 d-441 b-8270-4654446564/user_impersonation(sample)

相关问题