首页 > 解决方案 > 在 .net core 3.1 中使用 azure Active Directory(单租户)的 Azure Ad 身份验证和授权?

问题描述

我在我的项目中使用实体框架通过 sql 使用 jwt 令牌身份验证,效果很好。现在我们必须在项目中添加 Microsoft azureAD 登录?问题1:我们有两种类型的用户第一种存储在sql中,另一种存储在azure中,它们不一样。

现在我们必须为 sql 用户提供用户名和密码登录(这部分使用基于 jwt 令牌的登录完成)和 microsoft login 以供 azure 使用?

当我使用 openidconnect 登录微软时,它在我的项目中不起作用?

services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
            .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));

它不工作。我真正想要的是像这样添加两个身份验证。

services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
            .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
        services.AddJwtAuthentication(Configuration);

标签: c#azureasp.net-coresingle-sign-on

解决方案


如果您有新的非 Azure 用户,则必须使用 B2C。请参阅使用 Azure AD B2C 的 ASP.NET Core Web 应用

上面的示例展示了如何使用 ASP.Net Core OpenID Connect 中间件构建一个 MVC Web 应用程序,该应用程序通过 Azure AD B2C 执行身份管理。它假定您对 Azure AD B2C 有一定的了解。如果您想了解 B2C 提供的所有内容,请从位于 aka.ms/aadb2c 的文档开始。

该应用程序是一个基本的 Web 应用程序,它执行三个功能:登录、注册和注销。它旨在帮助您在 ASP.NET Core 应用程序中开始使用 Azure AD B2C,为您提供执行 Azure AD B2C 策略和安全地识别应用程序中的用途的必要工具。

如果您还想在代码中集成 Identity (SQL),请参阅Introduction to Identity on ASP.NET Core


推荐阅读