如何通过PHP和Postman使用Azure应用程序角色

mwkjh3gx  于 5个月前  发布在  Postman
关注(0)|答案(1)|浏览(72)

关于Azure应用程序角色和PHP的几个问题。
据我所知,我可以通过REST API或Microsoft Graph获得应用程序角色。我希望使用API路由,并在Stack overflow上找到一些有用的帖子,但我还没有做到这一点。
我希望在Postman中设置请求,让它工作,然后导出PHP代码(cURL)。最终目标是为我的应用服务设置角色,以获得由角色决定的不同访问级别。
我使用的GET请求URL是(填写了订阅ID):https://management.azure.com/subscriptions/SUBSCRIPTIONID/resourceGroups/myresourcegroup1/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=atScope()
我获得“身份验证失败”,因为我不太了解如何在Azure中进行身份验证以处理此请求-我看到有人使用不记名令牌,但我不确定如何执行此操作,或者不记名令牌来自哪里?
我已经做了相当多的阅读,并将继续,但想张贴这一情况下,有人有一些样本PHP代码,信息的不记名令牌,或可以提供任何帮助,关于 Postman 。
谢谢你,谢谢
我试过使用Postman,但无法验证。

dw1jzc5e

dw1jzc5e1#

注意:如果你想在没有用户交互的情况下调用API,那么使用客户端凭证流。如果你想用户交互,那么使用Authorization代码流来生成访问令牌。

创建Azure AD应用程序并授予API权限:


的数据

  • 根据您的要求,您可以选择任何令牌授权流进行身份验证。请参阅此MsDoc。*

对于 sample,我使用了Client Credential flow,通过Postman使用了以下参数:

https://login.microsoftonline.com/TenantID/oauth2/v2.0/token

client_id:ClientID
client_secret:ClientSecret
scope:https://management.azure.com/.default
grant_type:client_credentials

字符串


注意:应用程序必须分配**Reader**角色才能调用API。



使用访问令牌,我可以成功调用API如下:

https://management.azure.com/subscriptions/SUBID/resourceGroups/myresourcegroup1/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01


参考资料:

GitHub - CoasterKaty/PHPAzureADoAuth: PHP Azure AD login with demo site (using oAuth)通过CoasterKaty
Can Azure AD OAuth client credentials flow permissions be limited to specific mailboxes? - Stack Overflow

相关问题