go - JWT 认证策略
问题描述
现在我很困惑是否应该在会话中存储 JWT 令牌
我是不是该
创建 Token 后将其存储在 Redis 中
// JWT TOKEN token := CreateToken(user) // Storing it in Gorilla Session + Redis s := sessions.Default(c) s.Set("token", token) s.Save()
因此,然后从服务器获取令牌,而不是从请求标头的后续请求中获取令牌
s.Get("token")
// and to something with it
在后续请求中传递令牌,因此在每个需要令牌的路由中
func login(c *gin.Context) { c.Getheader("Authorization") }
我正在使用杜松子酒框架
哪种方法更好的会话或用户的后续请求
问候, 瑙法尔
解决方案
如果您创建一个客户端- 那么是的,因为您已经获得了 a 令牌,您应该存储它并与后续请求一起传递。
如果您制作服务器-则不。您无需存储已颁发的令牌,但您应在收到客户请求的任何时候对其进行验证。通过这种方式,您可以使您的服务无状态且更具可扩展性。