好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
JWT(json web Token),降低耦合性,适用于前后端分离,分布式架构,取代传统的session
生成token的底层用了对称秘钥加密的方法,jwt的库中会生成一个秘钥保存在本地的文件中。当生成token的时候jwt的库会用这个秘钥来对登录用户的信息(比如用户id,token过期时间等)进行加密操作,然后生成token并发送给客户端。
因为对token加密的秘钥只有生成token的人知道,所有其他人也就无法伪造这个token,从而到达了用户的认证登录。
token本是无状态的,但往往有刷新token和销毁token的需求。这这个需求是通过token本身无法达到的,必须将token的信息进行持久化的储存。
其中lavarel中的jwt就是将token存储在redis中,已进行token状态的记录。
具体来讲就是用户销毁token的时候,将此token记录在redis,相当于一个黑名单,再用此token登录时就判定此token已失效。
命令行重新生成秘钥的命令:
php artisan jwt:secret