Microsoft Graph API多租户仅限应用程序身份验证方案

时间:2016-08-26 12:15:53

标签: microsoft-graph

Microsoft Graph API提供App-only authentication scheme,适用于拥有应用程序的租户。

我有一个Azure租户,我按照文档指南在其中创建了应用程序。我的应用程序现在可以使用https://login.microsoftonline.com/<tenantId>/oauth2/token端点获取访问令牌,这允许我查询我的租户内用户的Graph API。

但是,我希望我的应用程序能够获得其他租户的访问令牌。我想外部租户所有者应该以某种方式在Azure租户中插入我的应用程序,应用某些仅限app的范围并向我提供租户ID以便查询令牌端点。

对于仅限app的身份验证方案,多租户是否可行? 租户所有者如何将我的应用程序插入Azure租户?

1 个答案:

答案 0 :(得分:1)

仅适用于app的多租户,但是,要启用此功能,您需要两件事:

  1. 您需要为租户管理员提供一个网络用户界面,以便登录并执行管理员同意,以便在您调用时&#34;将我的应用程序插入其Azure租户。&#34; 确保添加查询字符串参数&amp; prompt = admin_consent。
  2. 有关管理员同意的更多信息:https://azure.microsoft.com/en-us/documentation/articles/active-directory-devhowto-multi-tenant-overview/#understanding-user-and-admin-consent

    示例控制器方法&#34;注册&#34;通过管理员同意的应用程序用户: https://github.com/Azure-Samples/active-directory-dotnet-webapp-webapi-multitenant-openidconnect/blob/master/TodoListWebApp/Controllers/OnboardingController.cs#L33-L58

    1. 您需要跟踪哪些租户同意您的应用程序,以便您可以为他们启用运行仅限应用程序流的代码。与委派流程不同,您不能使用公共端点(https://login.microsoftonline.com/common),而是需要为每个实例使用租户特定端点或仅运行应用程序流。