首页 > 解决方案 > 使用 Azure AD 进行 Dotnet 核心身份验证

问题描述

我遇到了一个使用 azure AD 身份验证的问题。Out 团队开始开发一个 Identity 应用程序来处理我们所有应用程序服务的身份验证请求。

对于登录用户,我们必须使用 Azure AD,因为我们不希望我们的用户创建新帐户,而是使用他们公司的 Microsoft 帐户登录我们的应用程序。

问题是当用户进入应用程序时。它获取 microsoft azure 文档中描述的 azure 访问令牌,但我们想为这个经过身份验证的人创建我们自己的自定义令牌,其中包含来自我们数据库的额外信息。

我们尝试使用文档中描述的外部提供者来实现身份服务器,但没有那么成功。

所以我们面临的问题是从天蓝色身份转换为我们自己的自定义身份。

任何想法/建议如何实现这样的服务器/客户端?

标签: azureasp.net-coreauthentication.net-coremicroservices

解决方案


您可以使用身份服务器 4 作为身份提供者并将 Azure AD 添加为外部登录,这里是代码示例,您可以添加 Azure AD 登录,如下所示:

services.AddAuthentication()
.AddOpenIdConnect("aad", "Azure AD", options =>
{
    options.ClientId = "<app>";
    options.Authority = "https://login.microsoftonline.com/<tenant>/";             
    options.CallbackPath = "/signin-oidc-aadtenant";            
    options.SaveTokens = true;                                 
    options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;

})

在实施整个过程时,您可能会显示细节问题。


推荐阅读