相关疑难解决方法(0)

在Asp.Net核心Web应用程序中使用EasyAuth对Azure App Service上的AAD进行身份验证时,无法填充ClaimsPrincipal

我们有一个基于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

7
推荐指数
3
解决办法
2934
查看次数

具有 Azure 应用服务身份验证的 .NET Core 应用

我的Web应用程序是使用.NET Core开发并部署在Azure中的。我已启用 Azure 应用服务身份验证并将其配置为使用 Azure Active Directory。当我访问网络应用程序时,我确实被重定向到正确的登录页面。登录后,我可以浏览到端点 .auth/me 并查看我的用户存在声明。我还可以验证下面的请求标头是否存在及其值:

  • X-MS-令牌-AAD-ID-令牌
  • X-MS-令牌-AAD-访问令牌
  • X-MS-TOKEN-AAD-过期
  • X-MS-令牌-AAD-刷新令牌

但我无法在我的控制器中检索这些声明。使用 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

5
推荐指数
1
解决办法
3199
查看次数