如何在 Spring Boot 后端使用 jwt 令牌实现注销功能(使用休息端点)
Posted
技术标签:
【中文标题】如何在 Spring Boot 后端使用 jwt 令牌实现注销功能(使用休息端点)【英文标题】:How to implement Logout feature using jwt tokens in spring boot backend(using rest end points) Implementation 【发布时间】:2019-11-21 10:57:18 【问题描述】:我是 spring security 的新手,我正在经历 spring boot jwt 和过程,但我不知道如何通过 jwt 使用注销功能。 例如,当用户在那之后使用该令牌单击注销时,我们无法访问安全的 Rest 端点。
现在我想要的是使用实时项目中使用的 JWT(Spring Boot Rest Api) 实现注销功能及其代码。
Please if any one can provide me the github link to the solution
或者可以将代码发送给我
ag.rajat113@gmail.com
以及与最新春季安全项目相关的任何实时(后端) 还有oAuth2材料请发给我我需要这个
谢谢。
【问题讨论】:
【参考方案1】:注销时,您可以执行以下操作
从客户端移除令牌
您可以从客户端(本地存储、会话/Cookie)中删除令牌。请注意,当您仅从客户端和服务器删除时,它不会阻止客户端访问,它仍然是有效的令牌
维护 Token 黑名单
当客户端执行注销操作时。将该令牌添加到黑名单中,并且对于下一个请求检查令牌在黑名单中。如果是,则阻止访问。由于您必须检查每个请求,因此对于大型应用程序来说成本很高
有效期短
如果您将令牌过期时间保持在足够短的时间间隔内,并让正在运行的客户端跟踪并在必要时请求更新,它将作为一个完整的注销系统工作。这种方法的问题是它无法让用户在关闭客户端代码之间保持登录状态(取决于您设置的到期间隔时间)。
您也可以参考this了解详情
【讨论】:
感谢 Patel Romil 提供的解决方案,但如果您能提供代码,那么它对我很有用,因为我是新手,但感谢您给我这个概念 您好@RajatAgrawal,您可以启动它,如果出现问题我会很乐意尝试解决它 请给我你的邮件ID,我会把代码发给你,再次感谢 感谢@PatelRomil 现在我明白了这个概念,感谢您帮助我 欢迎@RajatAgrawal,很高兴它对您有帮助以上是关于如何在 Spring Boot 后端使用 jwt 令牌实现注销功能(使用休息端点)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Stomp 在 Spring Boot 中访问 JWT 令牌
如何使用spring boot后端使角度应用程序仅接收来自局域网的请求?
问题让 Spring Boot 的 jwt 变为 Angular
如何使用 JWT 和 Kubernetes 设置 Spring 后端