SpringBoot集成Jwt(详细步骤+图解)
Jwt简介
JSON Web Token是目前最流行的跨域认证解决方案,,适合前后端分离项目通过Restful API进行数据交互时进行身份认证
Jwt构成(.隔开)
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MTkxNjQ4NjEsInVzZXJuYW1lIjoiYWRtaW4ifQ.fo5a-H_C7XG3fSnNdCEMzM2QmrF5c7yypzoSxGzgJOo
Header(头部):放有签名算法和令牌类型
Payload(负载):你在令牌上附带的信息:比如用户的姓名,这样以后验证了令牌之后就可以直接从这里获取信息而不用再查数据库了
Signature(签名):对前两部分的签名,防止数据篡改
交互流程
本文将通过几个简单步骤教大家如何集成Jwt,废话不多说,直接上步骤。(注:使用了Lombok,需下载好相关插件及依赖)
- 在项目的pom文件中加入Jwt依赖
1 | java复制代码 <!---jwt--> |
- 在项目的yml文件中配置账号密码
1 | java复制代码Login: |
- 创建用户实体类
1 | java复制代码import lombok.AllArgsConstructor; |
- 创建Jwt(生成/验证)工具类
1 | java复制代码import com.auth0.jwt.JWT; |
- 创建Jwt拦截器(拦截所有请求验证token)
1 | java复制代码import com.auth0.jwt.exceptions.AlgorithmMismatchException; |
- 将拦截器注入到SpirngMVC
1 | java复制代码import org.springframework.context.annotation.Configuration; |
- 创建Controller进行测试
1 | java复制代码import org.springframework.beans.factory.annotation.Value; |
- 使用Postman进行测试
- 登录接口-返回Jwt*
测试接口-返回无权限
测试接口-请求头带token,访问成功
有什么疑问可评论区提问! 求点赞!求转发!求收藏!
本文转载自: 掘金