上车啦,这回是JSON Web Token号列车

上一篇文章给大家介绍了JWT的概念以及它的优缺点,不熟悉的同学可以查看上一篇文章:

今天就给大家实战下,光说不练假把式

上车啦,这回是JSON Web Token号列车

老习惯,上效果图,代码地址:https://github.com/onlyonezhongjinhui/jwt-demo.git

  • 访问createJwt接口返回了token并保存在了cookie中

    token=eyJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwicm9sZSI6ImFkbWluIiwiZXhwIjoxNTI0NjQwODc2fQ._BPPzPlfXPMygYBc2jTgJIGBai6KfqiNnkW3X2uRqgg

上车啦,这回是JSON Web Token号列车

  • JWT的三部分头部、载荷、签名完整。

  • 访问refreshJwt接口刷新token,更新它的过期时间,

    token=eyJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwicm9sZSI6ImFkbWluIiwiZXhwIjoxNTI0NjQwOTQyfQ.lJYtVAbB7G_eLNnoIJUNBDue--OHj2xRdCwmconW2Qk

上车啦,这回是JSON Web Token号列车

  • 此时的token已经发现了变化。

  • 访问getUser接口从token中取出用户信息

上车啦,这回是JSON Web Token号列车

  • 诶呦,不错哦

上车啦,这回是JSON Web Token号列车

怎么实现的呢?

  • 为了方便使用JWT,先引入JWT的开源库

上车啦,这回是JSON Web Token号列车

  • 要生产JWT,需要准备密钥用来签名,我们简单使用配置文件中放置一个密钥,加载到类中

上车啦,这回是JSON Web Token号列车

上车啦,这回是JSON Web Token号列车

  • 准备操作JWT的方法:

    createJwtToken负责把用户信息放入载荷中,设置过期时间为10分钟,采用HS256加密签名,一个token就这样新鲜出炉了

上车啦,这回是JSON Web Token号列车

createJwtToken

getClaims方法负责从token中获取声明的信息

上车啦,这回是JSON Web Token号列车

isExpired方法负责验证token是否过期

上车啦,这回是JSON Web Token号列车

extractUser方法负责从token中取出用户信息

上车啦,这回是JSON Web Token号列车

refreshJwt方法负责刷新token过期时间,从新生成一个token

上车啦,这回是JSON Web Token号列车

  • 接下来就是控制器暴露的接口

上车啦,这回是JSON Web Token号列车

栗子就吃完了,好吃的多多点赞、转发,谢谢。

上车啦,这回是JSON Web Token号列车


分享到:


相關文章: