JSON Web Token(JWT)学习
文章目录
入门教程
JSON Web Token 入门教程 - 阮一峰
补充
-
JWT认证流程:
1、用户使用用户名密码来请求服务器
2、服务器进行验证用户的信息
3、服务器通过验证发送给用户一个token
4、客户端存储token,并在每次请求时附送上这个token值
5、服务端验证token值,并返回数据 -
JWT实现认证的原理
服务器在生成一个JWT之后会将这个JWT会以
Authorization : Bearer JWT
键值对的形式存放在cookies里面发送到客户端机器,在客户端再次访问收到JWT保护的资源URL链接的时候,服务器会获取到cookies中存放的JWT信息,首先将Header进行反编码获取到加密的算法,在通过存放在服务器上的密匙对Header.Payload
这个字符串进行加密,比对JWT中的Signature和实际加密出来的结果是否一致,如果一致那么说明该JWT是合法有效的,认证成功,否则认证失败。 -
适用场景
1、用于向Web应用传递一些非敏感信息。例如完成加好友、下订单的操作等等。
2、用于设计用户认证和授权系统。
3、实现Web应用的单点登录。 -
JWT长什么样
-
八幅漫画理解使用JSON Web Token设计单点登录系统
-
和Session方式存储id的差异
SpringBoot + JWT
我参考下面的文章实现了
我的环境:
SpringBoot 2.0.4.RELEASE
java-jwt 3.4.1
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.4.1</version>
</dependency>
源码:https://github.com/MRLEILOVE/springboot-jwt
参考
作者:不敲代码的攻城狮
出处:https://www.cnblogs.com/leigq/
任何傻瓜都能写出计算机可以理解的代码。好的程序员能写出人能读懂的代码。