JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。
web项目使用jwt的优点
1.token 是分布式的由 用户保存,后端只做校验
2.jwt可以保存 用户id 等有效信息。减少查询数据库操作。
3.有过期时间,安全、可靠。
实现方法
这里我们通过spring 的拦截器 + jwt 完成对token的校验
通过注册的jwt拦截器,拦截web请求,验证jwt是否有效
1. pom.xml 中添加依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
</dependency>
2. yml 配置文件中 添加如下配置
jwt:
header: Authorization
base64Secret: your-base-64-secret # your-base-64-secret
issuer: your-app-server
expiresSecond: 17280000
3.代码中添加配置对应的 config 文件
/**
* @author river
* @create 2018/4/4 下午2:52
*/
@Component
@ConfigurationProperties(prefix =