gpt4 book ai didi

azure - 针对多个 Azure 广告对 Web 应用程序进行身份验证?

转载 作者:行者123 更新时间:2023-12-04 14:09:28 25 4
gpt4 key购买 nike

我正在考虑为企业开发一个 Web 应用程序。我正在考虑以下场景:

应用程序应该能够为多个客户提供服务(称为 Multi-Tenancy ?)。这意味着多家公司可以为其员工使用该软件。

他们每个人都可能有自己的 azure 广告,也可能没有。因此,我想知道是否可以针对多个/不同的 azure 广告进行身份验证?

假设用户输入了他的电子邮件地址 [email protected]然后,当有人尝试使用[email protected]登录时,我会尝试根据companyA.com广告后面配置的广告对他进行身份验证。然后我会尝试针对为 companyB.com 配置的 azure 广告进行身份验证。

这可能吗?我怎样才能做到这一点?

最佳答案

这就是 Multi-Tenancy 应用程序存在的确切原因。因此,任何 Azure AD 中的用户都可以登录到您的应用程序。

它的工作方式是这样的:

  1. 您可以在 Azure AD 租户中定义应用程序,包括它可能需要的任何权限(例如从 Azure AD Graph 读取数据/通过 Microsoft Graph 访问用户的 OneDrive 的能力等)
  2. 定义应用时,将其设置为 Multi-Tenancy 。
  3. 现在,当其他组织的用户尝试登录您的应用时,他们会看到同意屏幕。此屏幕描述了您的应用程序及其目录所需的权限。
  4. 一旦他们同意应用所需的权限,就会在其目录中为应用创建一个服务主体。该主体有点像现在存在于其目录中的应用程序帐户。
  5. 然后它们将被转发回您的应用。

在您的应用方面有一些重要事项需要注意:

  1. 您必须将用户重定向到 https://login.microsoftonline.com/common/oauth2/authorize(而不是特定于租户的端点)登录。
  2. 使用 ASP.NET MVC 中的 OpenIDConnect 中间件,您必须关闭颁发者验证,并手动执行一些操作(您必须检查租户之前是否已实际注册)

有关单租户与 Multi-Tenancy 的更多信息:http://www.andrewconnell.com/blog/azure-ad-what%E2%80%99s-the-difference-between-single-vs-multi-tenant

示例 Multi-Tenancy 应用程序 (ASP.NET MVC):https://github.com/Azure-Samples/active-directory-dotnet-webapp-multitenant-openidconnect

关于azure - 针对多个 Azure 广告对 Web 应用程序进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42316181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com