Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)
标题
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 认证(一)的更多相关文章
- Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(二)
Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(二) 摘要 上一篇https://javaymw.com/post/59我们已经实现了基本的登录和t ...
- spring jwt springboot RESTful API认证方式
RESTful API认证方式 一般来讲,对于RESTful API都会有认证(Authentication)和授权(Authorization)过程,保证API的安全性. Authenticatio ...
- Spring Boot中使用Swagger2构建RESTful API文档
在开发rest api的时候,为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份RESTful API文档来记录所有接口细节,然而这样的做法有以下几个问题: 1.由于接口众多,并且细 ...
- Spring Boot中使用Swagger2生成RESTful API文档(转)
效果如下图所示: 添加Swagger2依赖 在pom.xml中加入Swagger2的依赖 <!-- https://mvnrepository.com/artifact/io.springfox ...
- Spring Boot+Spring Security+JWT 实现 RESTful Api 权限控制
摘要:用spring-boot开发RESTful API非常的方便,在生产环境中,对发布的API增加授权保护是非常必要的.现在我们来看如何利用JWT技术为API增加授权保护,保证只有获得授权的用户才能 ...
- Spring Boot (21) 使用Swagger2构建restful API
使用swagger可以与spring mvc程序配合组织出强大的restful api文档.它既可以减少我们创建文档的工作量,同时说明内容又整合入现实代码中,让维护文档和修改代码整合为一体,可以让我们 ...
- 使用 Spring Boot 2.0 + WebFlux 实现 RESTful API
概述 什么是 Spring WebFlux, 它是一种异步的, 非阻塞的, 支持背压(Back pressure)机制的Web 开发框架. 要深入了解 Spring WebFlux, 首先要了知道 R ...
- Spring Boot 无侵入式 实现RESTful API接口统一JSON格式返回
前言 现在我们做项目基本上中大型项目都是选择前后端分离,前后端分离已经成了一个趋势了,所以总这样·我们就要和前端约定统一的api 接口返回json 格式, 这样我们需要封装一个统一通用全局 模版api ...
- 基于Spring Boot+Spring Security+JWT+Vue前后端分离的开源项目
一.前言 最近整合Spring Boot+Spring Security+JWT+Vue 完成了一套前后端分离的基础项目,这里把它开源出来分享给有需要的小伙伴们 功能很简单,单点登录,前后端动态权限配 ...
随机推荐
- 【经验分享】用adb揪出安卓APP弹窗广告的原形
背景 相信不少安卓用户中过影子弹窗广告的困扰,这种推广APP本体在后台运行,而且可以在其他APP上弹出覆盖广告,一不小心就会误操作,点击广告或者下载APP,着实令人恶心. 以前的广告软件只在通知栏会推 ...
- Mysql业务设计(逻辑设计)
逻辑设计 数据库设计三大范式 数据库设计第一大范式 数据库表中所有的字段都只具有单一属性 单一属性的列是由基本数据类型所构成 设计出来的表都是简单的二维表 数据库设计的第二大范式 要求表中只有一个业务 ...
- Sunday算法解决字符串匹配问题
概述 提起字符串匹配可能更多人会想到KMP算法,该算法时间复杂度为O(m+n),而且也是我们在学习数据结构过程中最早接触到的比较好的算法.但KMP算法需要在模式字符串有关联的情况下,也即模式字符串前后 ...
- Ubuntu 安装配置 WordPress5.4.2
一.安装 Apache 并配置 WordPress sudo apt-get install apache2 -y // 安装 apache2 sudo apt-get install php -y ...
- js中数组扁平化处理
- composer browse 查看包的存储库和主页
composer browse 用于打开或查看包的存储库和主页 1. 使用示例 browse 命令官方手册:https://getcomposer.org/doc/03-cli.md#browse-h ...
- case实现shell菜单功能
#!/bin/sh#Shell菜单演示function menu (){ cat << EOF----------------------------------------|****** ...
- 小程序开发-iView Weapp微信小程序UI组件库入门使用
iView Weapp UI组件库 今天来试试iView Weapp 这个微信小程序组件库,看看好不好用~~ 官网地址: http://inmap.talkingdata.com/wx/index_p ...
- 使用phoenix连接hbase
hbase本身不支持SQL查询,为了实现这个功能,引入了phoenix,通过它可以实现hbase的sql查询.这里记录下如何配置并使用phoenix来操作hbase. 1. 下载地址 phoenix下 ...
- Dockerfile构建镜像实战
目录 一.常见Dockerfile指令 二.编写Centos Dockerfile 2.1.编写Dockerfile 2.2.构建 2.3.查看Docker镜像 2.4.运行镜像 三.CMD和ENTR ...