我有一个天蓝色的广告租户和几个应用程序注册。使用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,如果这与此有任何关系的话。我完全搞不懂它到底做了什么,但this answer并没有指出它与我的问题有关。
发布于 2018-02-26 14:00:33
您可以做的一个选择是将应用程序权限添加到API中。
我写了一篇关于添加角色和作用域的文章:https://joonasw.net/view/defining-permissions-and-roles-in-aad。
然后,可以将应用程序权限分配给要允许访问的应用程序。这将需要一个管理员授予他们。
现在,其他应用程序可能仍然能够获得访问令牌,但它将不包含必要的角色,然后会失败授权。
https://stackoverflow.com/questions/48989912
复制相似问题