我一直在更新一个.Net Framework4.8Web& web到.Net 6,这个应用程序托管在Azure中,并为Azure (有人事帐户)和谷歌使用了身份验证设置/easy。我们允许未经身份验证的请求,因此用户可以访问主页和客户端的下载。
在.Net 6更新之后,我对此产生了问题,因为User.Identity.IsAuthenticated没有被设置,我无法检索任何获取用户电子邮件地址的声明。/..auth/login/aad工作,我可以在/..auth/me上看到信息。
根据微软的文档,他们说不应该有任何代码需要,但情况似乎并非如此:https://learn.microsoft.com/en-us/azure/app-service/scenario-secure-app-authentication-app-service#automatic-authentication-provided-by-app-service
不起作用的事情:
builder.Services.AddAuthentication(AppServicesAuthenticationDefaults.AuthenticationScheme)
.AddAppServicesAuthentication();也不起作用(在应用程序设置中创建Azure广告部分)
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd"));在过去的几天里,我尝试了更多的东西,但都记不起来了。
我更希望这个应用程序有一个使用/. auth / login /aad登录的WPF客户端,使用相同的端点轻松地工作。我不想重写auth是如何完全在前端客户端完成的。
那么,你如何在中建立Easy,并将索赔信息提交给应用程序呢?
提前谢谢你!
发布于 2022-10-20 12:41:47
虽然我尝试了KK.AspNetCore.EasyAuthAuthentication & MaximeRouiller.Azure.AppService.EasyAuth。我终于在NEasyAuthMiddleware上取得了成功!这成功地弥合了App身份验证与填充声明之间的差距。好的和明确的说明如何实现以及。
https://stackoverflow.com/questions/74098362
复制相似问题