确保服务以服务OAuth身份验证



我有一个Azure AD租户和几个应用程序注册。使用Postman我使用一个应用程序注册客户ID和秘密访问其他应用程序,例如:

POST /__TENANTID__/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: __POSTMAN__GENERATES__THIS__
grant_type=client_credentials&client_id=__POSTMAN_APPID__&resource=__REQUESTING_APPID__&client_secret=__SECRET__

我是否被授予令牌,无论__POSTMAN_APPID__是否包括__REQUESTING_APPID__我如何限制使用客户ID和客户端秘密的服务可以生成一个令牌?

我所有的应用程序都具有隐式流量设置为true,如果这与此有关。我完全对那的作用完全感到困惑,但是这个答案并不表示与我的问题有关。

一个选项,您可以做的就是将应用程序权限添加到API中。

我发表了一篇有关添加角色和范围的文章:https://joonasw.net/view/defining-permissions-and-permissions-and-roles-in-aad。

然后,您可以将应用程序权限分配给要允许访问的应用程序。这将需要管理员才能授予他们。

现在其他应用程序可能仍然能够获得访问令牌,但它不会包含必要的角色,然后将失败授权。

最新更新