avatar

go-zero jwt接入流程

go-zero有中间件可以直接启用jwt,但是该jwt功能只是服务端为客户端生成一个jwt的token,然后客户端在请求时带上这个Jwt,业务中一般不会用这种交互方式,本文讲解如何在具体的业务中将jwt接入go-zero的服务

jwt最佳实践

jwt是由客户端来持有登录态,服务端仅仅是通过签名来保证token的合法性,token的安全性由https保证。从session-cookie模式过渡到jwt的鉴权模式,卸载了服务器的压力,也方便服务器来保证它的无状态,从而更易于横向扩展。但是jwt也引入了一个问题,即token的过期状态不受服务器控制,封禁用户不能及时在服务端进行操作,只能被动的等待token自己过期。通过设计refresh token的机制来折衷的解决这个问题。