我正在使用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
但访问令牌不包含组声明。
如何在访问令牌中获取组。。?任何帮助都很感激
2条答案
按热度按时间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
声明。在我看来,这是因为客户端凭证流与用户无关,甚至与用户组无关。yacmzcpb2#
在token请求中包含作用域,其值为API://4564664- 534 d-441 b-8270-4654446564/user_impersonation(sample)