gpt4 book ai didi

authentication - Spring-boot JWT 注销

转载 作者:行者123 更新时间:2023-12-04 01:05:22 27 4
gpt4 key购买 nike

我使用此代码 https://github.com/gdongus/spring-boot-oauth-jwt-example一切都很完美,但我不知道如何实现注销功能。有人可以给我建议吗?谢谢你。

最佳答案

由于一旦注销完成,访问 token 和刷新 token 都将从身份验证服务器的底层存储中删除,我们只需要担心资源服务器中的访问 token 失效,直到它过期

为了做到这一点,您需要从 auth-server 发布一个事件。一旦通过 Spring Stream/Integration 完成注销并让所有 token 受众实例订阅 Logout 事件

您可以添加自己的LogoutHandler从身份验证服务器发布此事件。 @StreamListner来自 Spring cloud 的流可用于在每个资源服务器上监听此事件

此注销事件必须包含已删除的访问 token 和到期前的剩余时间。此事件的所有接收者必须将这些访问 token 存储在内存中的黑名单中,并确保他们拒绝对资源的访问,如果接收到的访问 token 与任何现有的列入黑名单的 token 匹配。访问 token 过期后,只需将其从内存中删除即可。要自动使 key 过期,您可以使用类似 CacheBuilder来自 Guava

因此,总的来说,AFAIK,由于 JWT 的性质,没有现成的访问 token 过期的解决方案

关于authentication - Spring-boot JWT 注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34475946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com