我们有一个基于Asp.Net核心的Web应用程序.它不包含任何配置的身份验证中间件.
我们托管Azure App Service并使用身份验证/授权选项(EasyAuth)对Azure AD进行身份验证.
身份验证效果很好 - 我们插入了必需的标头,我们可以在/.auth/me上看到经过身份验证的身份.但是HttpContext.User属性不会被填充.
这是Asp.Net核心的兼容性问题吗?或者我做错了什么?
authentication azure-web-sites azure-active-directory asp.net-core
我的Web应用程序是使用.NET Core开发并部署在Azure中的。我已启用 Azure 应用服务身份验证并将其配置为使用 Azure Active Directory。当我访问网络应用程序时,我确实被重定向到正确的登录页面。登录后,我可以浏览到端点 .auth/me 并查看我的用户存在声明。我还可以验证下面的请求标头是否存在及其值:
但我无法在我的控制器中检索这些声明。使用 User.Identity.isAuthenticated 始终为 false,并且 User.Identity.Claims 为空。
如何使用户经过身份验证并检索声明?
理论上,我也许可以检查请求标头(X-MS-TOKEN-AAD-ID-TOKEN)是否存在,然后检索端点 .auth/me 上存在的声明,但这似乎并不是正确的方法去吗?
编辑:我是否遇到了这里讨论的同一问题?(在 Asp.Net Core Web 应用程序中使用 EasyAuth 对 Azure 应用服务上的 AAD 进行身份验证时,无法填充 ClaimsPrincipal)
authentication azure azure-active-directory asp.net-core-2.0