我有一个ASP。. NET Core MVC项目,请求被cookie认证,滑动过期为true。
现在根据要求,这个MVC项目将被编写为。net Core项目,请求应该使用JWT进行身份验证。
为JWT实现滑动过期的最佳方式是什么?
我读到的一个想法是检查JWT,如果需要的话重新发布一个新的JWT,并通过响应头发送它,这样客户端就可以获得新的JWT并更新现有的令牌。
我想知道哪里是验证JWT的最佳位置,如果需要根据某些配置重新发布一个新的JWT,并在响应头中发送它(重新发布JWT将仅针对现有的有效令牌)
- AuthorizationFilter
- CustomAuthentication中间件
或任何其他地方?
谢谢
看一下JwtSecurityTokenHandler
类。您可以重写它的一个受保护的虚拟方法ValidateLifetime()
来做您想做的事情。这样,您甚至可能不需要重新发出JWT——只需根据您的窗口计算指定它仍然有效。