1. <!--SpringSecurity依赖配置-->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-security</artifactId>
  5. </dependency>
  6. <!--JWT(Json Web Token)登录支持-->
  7. <dependency>
  8. <groupId>io.jsonwebtoken</groupId>
  9. <artifactId>jjwt</artifactId>
  10. <version>0.9.0</version>
  11. </dependency>

说明

JWT的组成

  • token格式:header.payload.signature
  • header用于存放签名的生成算法
  • payload用于存放用户名、token的生成时间和过期时间
  • signature为以header和payload生成的签名

    JWT实现认证和授权的原理

  1. 用户调用登录接口,登录成功后获取到JWT的token
  2. 之后用户每次调用接口都在http的header中添加一个Authorization的头,值为JWT的token
  3. 后台程序通过对Authorization头中信息的解码及数字签名校验来获取其中的用户信息,从而时间认证和授权