【问题标题】:Microsoft Graph API Multi tenant App-only auth schemeMicrosoft Graph API 多租户 App-only 身份验证方案
【发布时间】:2016-08-31 12:34:22
【问题描述】:

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

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

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

仅应用程序的身份验证方案是否可以进行多租户? 租户所有者如何将我的应用程序插入到他们的 Azure 租户中?

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    仅应用程序的多租户是可能的,但是,要启用此功能,您需要两件事:

    1. 您需要有一个 Web UI 供租户管理员登录并执行管理员同意,以便,正如您所说的,“将我的应用程序插入到他们的 Azure 租户中。” 确保您添加查询字符串参数 &prompt=admin_consent。

    有关管理员同意的更多信息:https://azure.microsoft.com/en-us/documentation/articles/active-directory-devhowto-multi-tenant-overview/#understanding-user-and-admin-consent

    通过管理员同意为用户“注册”应用的示例控制器方法: 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),而是需要为每个实例使用租户特定的端点或运行仅应用程序流。

    【讨论】:

    • 您刚才描述的内容有示例代码吗?
    猜你喜欢
    • 2017-09-20
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 2022-08-23
    • 2018-02-10
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    相关资源
    最近更新 更多