首页 > 编程语言 > 详细

Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)

时间:2020-10-10 14:25:37      阅读:34      评论:0      收藏:0      [点我收藏+]

标题

Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)

技术

Spring Boot 2、Spring Security 5、JWT

运行环境

IDEA+JDK8.0+MySQL5.0+

简述

Spring Boot 2 + Spring Security 5 + JWT 实现给RestApi增加认证控制

测试流程

下面对我们的程序进行简单的验证

1.请求获取用户列表接口:http://localhost:8080/users/userList接口,会收到401错误

{ "timestamp": 1567564486909, "status": 401, "error": "Unauthorized", "message": "Full authentication is required to access this resource", "path": "/users/userList" } curl http://localhost:8080/users/userList
原因就是因为这个url没有授权,所以返回401
技术分享图片

2.注册一个新用户

curl -H "Content-Type: application/json" -X POST -d ‘{
"username": "admin",
"password": "password"
}‘ http://localhost:8080/users/signup
技术分享图片

3.登录,会返回token,在http header中,Authorization: Bearer 后面的部分就是token

curl -i -H "Content-Type: application/json" -X POST -d ‘{
"username": "admin",
"password": "password"
}‘ http://localhost:8080/login
温馨提醒:这里的login方法是spring specurity框架提供的默认登录url 技术分享图片

4.用登录成功后拿到的token再次请求/users/userList接口

4.1将请求中的XXXXXX替换成拿到的token
4.2这次可以成功调用接口了
curl -H "Content-Type: application/json"
-H "Authorization: Bearer XXXXXX"
"http://localhost:8080/users/userList" 技术分享图片

5.设置了1分钟后Token过期,如果1分钟后再次请求/users/userList接口返回Token过期的异常提示如下图:

技术分享图片

6.集成Swagger-ui,方便前后端分离开发,默认访问地址:http://localhost:8080/swagger-ui.html

技术分享图片 技术分享图片 技术分享图片 温馨提示:这里的登录接口还是使用的默认地址,如果你的token过期了,需要你重新登录生成新的token.

下载地址

https://gitee.com/micai-code/springboot-springsecurity-jwt-demo.git

结束语

在使用的过程中,如有问题,可以添加真正讨论技术的QQ交流群,QQ群号为:715224124

Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)

原文:https://www.cnblogs.com/sxdtzhaoxinguo/p/13792097.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!