JWT,全称是 Json Web Token ,是一种令牌认证的方式

    长相:
    image.png

    1. 头部:放有签名算法和令牌类型
    2. 载荷:令牌上附带的信息,比如用户的姓名,用户的编号。这样验证了令牌的有效性之后可以直接从载荷获取信息,而不用再查询 数据库了,从而可以减轻数据库的压力
    3. 签名:用来附加令牌的

    image.png

    关于jwt令牌的有效期
    jwt令牌是直接交给用户,并且存在用户本地的,只要能验证成功的jwt都可以视为是登陆成功。因此,如果不给jwt令牌设置一个过期时间的话,用户只要存有这个jwt令牌,那么它就可以一直登录,而这其实是不安全的。因此,jwt往往都会设置一个有效期
    image.png

    在实际的开发中,令牌的有效期往往是越短越安全,因为令牌会频繁变化,即使有某个令牌被别人盗用,也会很快失效。但是有效期短也会导致用户体验不好(总是需要重新登录),所以这时候就会出现另外一种令牌—refresh token刷新令牌。刷新令牌的有效期会很长,只要刷新令牌没有过期,就可以再申请另外一个jwt而无需登录(且这个过程是在用户访问某个接口时自动完成的,用户不会感觉到令牌替换),对于刷新令牌的具体实现这里就不详细讲啦(其实因为我也没深入研究过XD…)