使用Spring Boot和Spring Security验证JWT
对于我当前的项目,我将使用Spring Boot设置REST API (最有可能使用BoxFuse运行)。 为了能够使用API端点,应用程序将检查传入的请求是否具有较早提供的有效JWT令牌 (由我信任的API服务提供)。
为了实现此功能,我想利用Spring Security,因为它与Spring Boot非常吻合。 在搜寻有关此组合的信息时,我遇到了一个很好地描述背景信息的网站 ,但没有提供使它运行所需的所有必要资源。 因此,经过更多调查和反复试验后,我终于找到了一个可行的解决方案。 请注意,在我的情况下,我仅需要验证传入的令牌,而无需创建或提供新的令牌。
示例的源代码可在此处在GitLab上找到。 该示例应用程序具有一个称为MainController的REST控制器。 启动应用程序后(通过运行Application .main方法),您可以使用以下地址访问REST端点: http:// localhost:8888 / hello?name = PalmApps 。 如您所见,如果在浏览器中尝试执行此操作,则会收到HTTP 401错误:
要访问端点,您将需要提供JWT令牌,以便可以通过JwtAuthenticationFilter进行访问 。 要生成有效令牌,请打开类JwtTokenGenerator的源并运行'main'方法,该方法将在控制台中打印令牌:
复制令牌并打开一个工具,您可以使用该工具发送HTTP请求,并将令牌添加到标头中,例如Postman :
有了令牌后,您将看到预期的输出:
{"id": 2,"content": "Hello, PalmApps!"
}
如果您通过POST请求访问端点http:// localhost:8888 / me (仍带有“ Authorization”标头),则将以JSON格式获取Principal对象的详细信息:
{"details": null,"authorities": [{"authority": "admin"}],"authenticated": true,"principal": {"username": "Pascal","token": "eyJhbGciOiJIUzUxMeJ9.eyJzdwIiOi....m72LpFADA","authorities": [{"authority": "admin"}],"password": null},"credentials": null,"name": "Pascal"
}
返回对象中的“主要”字段是我们的AuthenticatedUser 。 如果我们想从我们的JWT中获取更多信息,那么我们可以简单地将其添加到该对象中,并将其填充到JwtAuthenticationProvider中 。
翻译自: https://www.javacodegeeks.com/2016/05/validating-jwt-spring-boot-spring-security.html
使用Spring Boot和Spring Security验证JWT相关推荐
- chrome charset使用_使用JWT保护你的Spring Boot应用 Spring Security实战
关键词 Spring Boot.OAuth 2.0.JWT.Spring Security.SSO.UAA 写在前面 最近安静下来,重新学习一些东西,最近一年几乎没写过代码.整天疲于奔命的日子终于结束 ...
- 使用JWT保护你的Spring Boot应用 - Spring Security实战
使用JWT保护你的Spring Boot应用 - Spring Security实战 作者 freewolf 原创文章转载请标明出处 关键词 Spring Boot.OAuth 2.0.JWT.Spr ...
- Spring boot 整合Spring Security Jwt
记录学习Spring boot 整合Spring Security Jwt 学习参考 – 慢慢的干货 https://shimo.im/docs/OnZDwoxFFL8bnP1c/read 首先创建S ...
- Angular 6集成Spring Boot 2,Spring Security,JWT和CORS
主要内容:Spring Boot 2的基础应用.CORS配置.Actuator监控:Spring Boot集成springfox-swagger,利用Swagger生成JSON API文档,利用Swa ...
- 使用Spring Boot 2通过OAuth2和JWT进行集中授权
本指南逐步介绍了使用Spring Boot 2创建集中式身份验证和授权服务器的过程,还将提供演示资源服务器. 如果您不熟悉OAuth2,建议您阅读此书. 先决条件 JDK 1.8 文本编辑器或您喜欢的 ...
- spring boot整合spring security笔记
最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...
- 在15分钟内使用Spring Boot和Spring Security构建一个Web应用程序
"我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 开发人员 ...
- 一个具有Spring Boot,Spring Security和Stormpath的简单Web应用程序-15分钟
建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! 更新 ...
- Spring boot 2.0 with Oauth2 + Jwt
2019独角兽企业重金招聘Python工程师标准>>> Spring boot 2.0 with Oauth2 + Jwt 在这篇文章中: Netkiller Spring Clou ...
- 认证与授权流程与spring boot整合 spring security(1)
一 spring security 1.1 spring security的作用 Spring Security所解决的问题就是安全访问控制,而安全访问控制功能其实就是对所有进入系统的请求进行拦截 ...
最新文章
- php中处理xml文件的类 simpleXML
- dede扩展数据类型_数据类型,扩展
- Web APi之控制器创建过程及原理解析(八)
- post和get提交中文数据的转码问题
- 透明轮播原生JavaScript实现
- C语言指针学习(续)
- 消息称苹果、Epic开庭时间从2021年7月提前至5月份
- typora使用pandoc导出功能
- [渝粤教育] 厦门理工学院 模拟电子技术实验 参考 资料
- RocketMQ 常见异常处理
- ASP.NET 2.0下实现匿名用户向注册用户的迁移(上) zhuan
- VC++实现快速截屏
- 终结者2免费教程_如何在模拟器上玩(匹配的还是手机服)_适用最新客户端
- retinex(SSR,MSR,MSRCR)的优缺点
- 美术☀️PR去掉视频黑边、旋转视频、减小视频体积、设置视频封面
- mysql redo查看_mysql redo
- linux查看隐藏大文件夹,Linux系统隐藏文件/文件夹操作教程
- Keil看不见头文件
- 解决Pycharm挂代理后依旧插件下载慢
- python pitfall (陷阱)--不同平台os模块文件名排序
热门文章
- Java_io体系之CharArrayReader、CharArrayWriter简介、走进源码及示例——13
- 一道丧心病狂的java面试题
- IntegerCache的妙用和陷阱
- vue中父组件怎么调用子组件
- 三班的孩子们,你们现在还好吗?
- MyBatis中Mapper代理方式
- 2020蓝桥杯省赛---java---A---4(七段码)
- php事件编程,PHP相应button中onclick事件的案例分析
- centos8启动docker-mysql8容器
- openfire log4j:ERROR setFile(null,true) call failed.