【发布时间】:2020-11-28 13:12:33
【问题描述】:
我有一点需要澄清的情况。我使用 Angular 8 为前端和使用 Spring boot 的 Web 服务开发了一个全栈 Web 应用程序。
我已经使用 JWT 令牌实现了身份验证和授权,这里一切正常,但我无法维护状态,即用户登录或注销时。
我无法维护会话,该会话在用户登录时有效,在用户注销时无效。
因此,如果有人能告诉我如何实现会话或任何其他我可以知道哪个用户在任何特定时间登录或注销的事情。
【问题讨论】:
-
您存储 JWT 客户端,如果令牌已过期或被服务器拒绝,则您将客户端注销。
-
谢谢,但在客户端存储 JWT 令牌不会告诉我用户何时处于活动或非活动状态。
-
您的 JWT 在每次请求时都会发送到后端,因此您将知道客户端何时处于活动状态。
-
我不建议使用 jwt 作为会话令牌,您可以在此处阅读原因 developer.okta.com/blog/2017/08/17/… 。您可以使用带有 redis 的 spring session 来维护您的 session docs.spring.io/spring-session/docs/current/reference/html5/…
-
当您以角度存储 JWT 时,保存它到达的时间。通常 JWT 会在 15 分钟后过期,因此超过该时间的任何交互都会将用户重定向到登录页面。
标签: angular spring spring-mvc session jwt-auth