gpt4 book ai didi

azure - 如何将 Easy Auth 与 .NET Core 3.1 MVC 应用程序集成?

转载 作者:行者123 更新时间:2023-12-03 02:36:07 24 4
gpt4 key购买 nike

我正在开发一个 .NET Core 3.1 MVC 应用程序,然后将其发布到 Azure Web 应用程序。在 Azure 门户中,对于此托管应用程序 -> 我通过 AzureAD 登录启用了应用服务身份验证。但是身份验证不起作用,因为“User.Identity.IsAuthenticated”在 Controller 中始终为 false,我无法获取我想要的其他用户详细信息,例如电子邮件等。搜索后,我发现有一个解决方法,使用>Net Core 2.2 ( https://github.com/MaximRouiller/MaximeRouiller.Azure.AppService.EasyAuth ) 的 Nuget 包,但我没有看到 3.1 的任何解决方案。

但是,当我通过在 Azure 中禁用应用服务身份验证来设置自定义身份验证,并在 Startup.cs 中设置身份验证时,如下所示:

services.AddAuthentication(AzureADDefaults.AuthenticationScheme).AddAzureAD(options => Configuration.Bind("AzureAd", options));

还有这个:

app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints => ...

通过 appsettings.json 中的配置,身份验证工作正常,我也可以获取用户详细信息。

但我们的首选解决方案是不在代码中进行任何身份验证设置/自定义身份验证,而是使用 Azure AD Easy Auth 和 .NET Core 3.1 MVC 应用程序在门户上完全处理它。非常感谢任何帮助。

最佳答案

这是 EasyAuth 和 .NET Core 的已知限制,如 documented 。用户主体在 .NET Core 中的实现方式不同,EasyAuth 无法像在 .NETFX 中那样自动获取这些详细信息。这就是为什么您需要使用 Maxime 的解决方法。

关于azure - 如何将 Easy Auth 与 .NET Core 3.1 MVC 应用程序集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63234511/

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