使用外部 JWT 令牌 ASP.NET CORE
Posted
技术标签:
【中文标题】使用外部 JWT 令牌 ASP.NET CORE【英文标题】:Using External JWT token ASP.NET CORE 【发布时间】:2021-04-20 05:50:32 【问题描述】:我是 asp.net Core 的新手,仍处于学习阶段,我有一个 Rest API,它处理所有身份并针对授权请求返回 JWT。 我现在创建了一个新的 .NET Core Web 应用程序,并且我已经使用该 API 来获取令牌,这个新应用程序的基本流程是
.NET CORE Web Applicaiton -> Calls(With UserCredentials) WebAPI to get Token -> Web Api returns a token with all claims including roles
我已经完成了以上所有,但我想知道上述应用程序状态管理的最佳实践,
我有两个名为 Cars 和 Boats 的控制器 我可以使用会话来保存令牌并检查对每个控制器的每个请求,并检查令牌是否未过期,它是否包含所请求控制器的角色,或者是否有其他更好的方法。
【问题讨论】:
【参考方案1】:你可以使用session来保存token,但是session是保存在服务器上的,所以我不建议你使用session来保存token。
更好的方法:将token保存到cookie或其他web存储中,当你请求一个被[Authorize]
保护的动作时,请求需要携带token,其他请求不需要携带token。
关于检查token是否过期,有以下方法。
-
您可以将过期时间设置为较长时间,过期后用户会重新登录。
当客户端获得token时,可以添加listen事件来监听过期时间。在它过期之前,触发一个函数来请求一个新的令牌。
【讨论】:
@Baba Fooka,你能接受这个答案吗?您的认可是我最大的回报。以上是关于使用外部 JWT 令牌 ASP.NET CORE的主要内容,如果未能解决你的问题,请参考以下文章
ASP Net Identity JWT API 令牌的有效负载要求是啥