Microsoft Graph API 与 Azure 用户配置
Microsoft Graph API with Azure User Provisioning
我想做的很简单:从我的 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=[MyClient]&response_type=code&redirect_uri=[My Account]/Account/Office&response_mode=query&scope=openid%20User.Read%20offline_access%20Directory.ReadWrite.All
确认我在 Return 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是否正确?
我真的需要在 "global" 水平上完成每个订阅的配置手动步骤或手动添加一些 "TenantID"。
您已请求一个范围为 Microsoft Graph API 的令牌,这就是为什么您可以使用 https://graph.microsoft.com/
出现的 API 个端点。
对 https://management.core.windows.net/subscriptions
的调用 不是 Microsoft Graph API 的一部分,因此您的令牌对该资源无效。该调用进入 Service Management REST API. Authenticating for this API is documented here。
我想做的很简单:从我的 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=[MyClient]&response_type=code&redirect_uri=[My Account]/Account/Office&response_mode=query&scope=openid%20User.Read%20offline_access%20Directory.ReadWrite.All
确认我在 Return 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是否正确?
我真的需要在 "global" 水平上完成每个订阅的配置手动步骤或手动添加一些 "TenantID"。
您已请求一个范围为 Microsoft Graph API 的令牌,这就是为什么您可以使用 https://graph.microsoft.com/
出现的 API 个端点。
对 https://management.core.windows.net/subscriptions
的调用 不是 Microsoft Graph API 的一部分,因此您的令牌对该资源无效。该调用进入 Service Management REST API. Authenticating for this API is documented here。