我想要做的很简单:从我的 Web 应用程序配置 Office 365 和 Azure 帐户。我希望它不仅对我可用,而且对所有登录我的应用程序的 IT 部门(也来自其他组织)都可用。
据我了解,我必须采取的步骤是:
- 注册应用程序
apps.dev.microsoft.com
并获得 ID 和秘密。 - 启用我感兴趣的范围(在我的情况下
Directory.ReadWrite.All
和User.ReadWrite.All
)——从委托权限和应用程序权限中启用 完成登录过程
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id= [我的客户]&response_type=code&redirect_uri=[我的帐户]/Account/Office&response_mode=query&scope=openid%20User.Read%20offline_access%20Directory .ReadWrite.All
确认我在返回 URL 上收到的代码
POST https://login.microsoftonline.com/common/oauth2/v2.0/token?...secret and so on...
现在我得到的是一个带有访问令牌、更新令牌等的对象。
如果我用它来获取用户,那么一切正常:
https://graph.microsoft.com/v1.0/users
但是当我尝试执行其他操作时,令牌似乎无效。
例如:
- 获取 Azure 订阅(帐号为多个订阅的管理员):
https://management.core.windows.net/subscriptions
==> 未经授权
我做错了什么?其背后的IDEA是否正确?
我真的需要在“全局”级别完成,而无需在每个订阅上配置手动步骤或手动输入一些“TenantID”。