gpt4 book ai didi

asp.net-mvc - 如何为本地 Web 应用程序配置 Azure AD 身份验证

转载 作者:行者123 更新时间:2023-12-03 03:22:35 26 4
gpt4 key购买 nike

我需要帮助来配置现有本地 Web 应用程序 (ASP.NET MVC) 的 Azure AD 身份验证。每个客户端都有自己的安装(自己的数据库和自己的服务器)。

我们想要做什么:

  • 允许使用 Microsoft 帐户登录应用程序(许多客户使用 Microsoft Azure AD 管理公司帐户)
  • 最大限度地减少客户配置

我们的想法是这样进行:

  1. 我们的 Azure AD 中注册 Multi-Tenancy 应用程序,以支持所有帐户类型(组织和私有(private)帐户)
  2. 使用这些参数连接网络应用程序:

预期结果:

  • 客户可以使用自己的 Microsoft 帐户登录:AAD 应用程序支持所有帐户类型
  • 凭据验证后,Azure 会为客户端 Azure 创建一个服务主体,其中包含读取用户信息所需的所有规则
  • 无安全问题:AAD 应用程序位于我们的 Azure 中,但安全主体位于客户端 Azure 中(每个本地 Web 应用安装都会创建一个安全主体(如果使用)

问题:

  • 正确的方法是吗?
  • 我们如何配置重定向网址参数?我们需要将用户重定向到网络应用的主页,但每次安装的 URL 都不同。

最佳答案

是的,你说得对。要支持所有帐户类型,请创建一个 Azure AD Multi-Tenancy 应用程序,如下所示:

enter image description here

要读取用户信息,请授予 API 权限:

enter image description here

How can we configure the redirect url parameter? We need to redirect the user to the home page of the web app but the url is different for each installation.

您可以在 Azure AD 中设置动态重定向 URL,但它不支持在任何组织目录(任何 Azure AD 目录 - Multi-Tenancy )和个人 Microsoft 帐户中注册为帐户的应用程序。请参阅Microsoft Q&A作者:AmanpreetSingh-MSFT 和这个 MSDoc .

因此,您可以在“身份验证”选项卡中添加多个静态重定向 URI,如下所示:

enter image description here

要对用户进行身份验证,您可以使用以下授权端点:

https://login.microsoftonline.com/common/oauth2/authorize?
&client_id=ClientID
&response_type=code
&redirect_uri=https://jwt.ms
&response_mode=query
&scope=https://graph.microsoft.com/User.Read
&state=12345

enter image description here

一旦其他租户用户同意,将生成授权码,如下所示:

enter image description here

现在,此 MultiTenantApp 将在用户的租户中注册为服务主体:

enter image description here

我通过 Postman 使用以下参数生成了访问 token :

https://login.microsoftonline.com/common/oauth2/v2.0/token

client_id:ClientID
grant_type:authorization_code
scope:https://graph.microsoft.com/User.Read
code:code
redirect_uri:https://jwt.ms
client_secret:ClientSecret

enter image description here

通过使用上述访问 token ,可以获取登录用户的详细信息:

https://graph.microsoft.com/v1.0/me

enter image description here

关于asp.net-mvc - 如何为本地 Web 应用程序配置 Azure AD 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76614350/

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