【发布时间】:2019-09-01 20:17:09
【问题描述】:
我有一个 .net core 2.2 api,它生成(在成功登录时)一个 JWT 令牌,其中包含一个声明身份,该身份传递信息,例如经过身份验证的用户的用户名、权限和角色。
在我的 .net 核心 2.2 中。 Web 应用程序我有一个登录机制,它通过控制器的用户检索 JWT 令牌。
我的问题是。
如何从我的登录控制器中扩展令牌并设置我的 Web 应用程序以包括使用身份验证机制(如 User.Identity.IsAuthenticated、User.IsInRole("Admin"))和控制器操作(如 [Authorize] 和 [Authorize(Roles="Admin")])
我一直致力于查看 facebook/google 等外部身份验证提供程序背后的源代码,但无济于事。
提前致谢。
【问题讨论】:
-
您是否已经设法在身份验证中间件中从您的 JWT 获取 IdentityUser ?您是否只是在寻找如何在控制器中处理授权?
-
这就是我所追求的。那么你会推荐在我的启动类中引入一些身份验证中间件来创建身份用户吗?除了在控制器上授权用户之外,我还需要设置 User.Identity.IsAuthenticated 和 User.IsInRole("Admin") 变量来根据用户更改我的 UI。 @Skrface
-
嗨..您使用的是identityserver4还是什么技术?
-
@federicoscamuzzi 我只是想使用 cookieauthentication、claimidentity 和 jwt
标签: c# asp.net-core .net-core jwt claims-based-identity