自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云逸的博客

随缘记录问题与技术分享

  • 博客(38)
  • 收藏
  • 关注

原创 Spring Authorization Server入门 (二十) 实现二维码扫码登录

全局根据二维码id将整个流程串联起来,前端轮询、app端扫码和登录确认都是通过二维码id来的,中间借助redis来缓存二维码的信息,以确保每个端都可以获取到二维码信息,这样就算集群部署也不影响。

2024-01-22 14:39:06 1307 16

原创 Spring Cloud Gateway集成SpringDoc,集中管理微服务API

本文目标为Spring Cloud微服务集成SpringDoc,在Spring Cloud Gateway中统一管理微服务的API,微服务上下线时自动刷新SwaggerUi中的group组。

2023-11-29 17:22:36 1071

原创 我的创作纪念日

这一系列文章在写的过程中也遇到了不少麻烦,但是也让我对这个框架更加熟悉了,各种之前没有注意到的细节都会在写文章的过程中发现,所以写文章对我自己的提升也是很大的。现在我更多的是会将博客平台当做一个记录平台,记录我学习到的一些新东西,比如新框架、新的内容等,平时就在不忙的时候记录一下,或者在晚上下班回家后记录。学习如逆水行舟,不进则退,共勉吧。

2023-11-23 10:09:34 268 1

原创 SpringDoc枚举字段处理与SpringBoot接收枚举参数处理

本期内容1. 添加SpringDoc配置展示枚举字段,在文档页面中显示枚举值和对应的描述2. 添加SpringMVC配置使项目可以接收枚举值,根据枚举值找到对应的枚举

2023-11-22 11:10:35 686

原创 SpringDoc基础配置和集成OAuth2登录认证教程

现在大部分教程是在swagger-ui页面添加一个请求头,使用时先去获取一个token,然后再将获取的token填充至页面的token输入框内,如果是通过某个接口自己生成token的方式使用这种配置没什么太大问题,但是如果是通过OAuth2登录获取token时就比较麻烦,要填充token type和access token,所以在swagger-ui提供的页面中提供OAuth2登录的入口,OAuth2登录自动配置,一步到位。

2023-11-20 18:09:13 769

原创 SpringBoot3.x最简集成SpringDoc-OpenApi

在SpringBoot低版本时一般使用Swagger扫描接口生成Json格式的在线文档,然后通过swagger-ui将Json格式的文档以页面形式展示文档。可惜遗憾的是swagger更新到3.0.0版本(springfox)后不更新了。

2023-11-20 09:49:26 1346 2

原创 Spring Authorization Server入门 (十九) 基于Redis的Token、客户端信息和授权确认信息存储

本文对应的是文档中的How-to: Implement core services with JPA,文档中使用Jpa实现了核心的三个服务类:授权信息、客户端信息和授权确认的服务;本文会使用Spring Data Redis参考文档来添加新的实现。在这里也放一下文档中的一句话: 本指南的目的是为您自己实现这些服务提供一个起点,以便您可以根据自己的需要进行修改。

2023-10-29 00:41:40 1553 12

原创 Spring Authorization Server优化篇:Redis值序列化器添加Jackson Mixin,解决Redis反序列化失败问题

从上边的配置可以看出Spring对于三方框架内部没有默认构造器的类的反序列化支持还是挺好的,如果集成其它框架时遇到这种情况时就可以仿照Security框架提供的Mixin类实现一个自己的Mixin类以支持反序列化,当然也可以找找在框架中是否有类似的Jackson2Module类;当自己封装一个starter时也可以提供Jackson2Module类来映射类,不过这个就按照个人的喜好来了,自己封装自由度很高的。

2023-09-24 17:15:41 742 1

原创 Spring Authorization Server入门 (十八) Vue项目使用PKCE模式对接认证服务

一直都有提到PKCE流程是授权码流程的扩展,通过这两篇文章也可以看出两种流程的授权申请流程基本是一样的,只不过PKCE将客户端密钥换成了和,虽然稍微麻烦了些,但是安全性也提高了很多;至于移动app或者pc端应用对接的流程也是一样的,只不过是将回调地址换成了URLSchema,其它都是一样的;测试的流程与授权码模式基本一致,这里就不带大家测试了,读者可自行测试,然后观察请求跳转情况。

2023-09-17 19:11:58 699

原创 Spring Authorization Server入门 (十七) Vue项目使用授权码模式对接认证服务

在本例中为授权代码流程。 授权码流程的步骤如下:客户端通过重定向到授权端点来发起 OAuth2 请求。如果用户未通过身份验证,授权服务器将重定向到登录页面。 身份验证后,用户将再次重定向回授权端点。如果用户未同意所请求的范围并且需要同意,则会显示同意页面。一旦用户同意,授权服务器会生成一个并通过重定向回客户端。客户端通过查询参数获取并向Token Endpoint发起请求。

2023-09-17 19:10:58 1174 2

原创 Spring Authorization Server常见问题解答(FAQ)

文章会记录可能遇到的问题,并给出一个解决方案,目前框架异常提示信息不完善,所以出现问题后很难排查,这里给出一些解决方案,让大家少走一些弯路;本篇文章持续更新中,欢迎各位读者指正、补充和完善,谢谢大家

2023-09-17 17:44:57 993 12

原创 Spring Authorization Server入门 (十六) Spring Cloud Gateway对接认证服务

之前虽然单独讲过Security Client和Resource Server的对接,但是都是基于Spring webmvc的,Gateway这种非阻塞式的网关是基于webflux的,对于集成Security相关内容略有不同,且涉及到代理其它微服务,所以会稍微比较麻烦些,今天就带大家来实现Gateway网关对接OAuth2认证服务。

2023-08-27 00:25:39 4126 35

原创 Spring Authorization Server入门 (十五) 分离授权确认与设备码校验页面

在之前的文章(实现授权码模式使用前后端分离的登录页面)中实现了前后端分离的登录页面,但这篇文章中只分离了登录页面,鉴于部分读者好奇授权确认页面分离的实现,就实现一下授权确认页面的分离,同时设备码流程的授权确认页面与授权码流程的授权确认页面是同一个,这里也需要兼容一下,还有就是设备码流程中有一个校验设备码的页面,这里也需要分离出来。

2023-08-01 22:46:58 1181 16

原创 Spring Authorization Server入门 (十四) 联合身份认证添加微信登录

虽然这次是用测试号对接的,但是实际上开放平台提供的扫码登录也是这个流程,直接替换appid和app secret为开放平台申请的应该能直接使用;另外需要注意的是获取access_token时可能会返回unionid,这是在同一个微信开放平台账号下拥有多个移动应用、网站应用和公众账号,获取用户信息后用户信息中的openid可能不同,但是unionid是相同的,可以通过unionid区分用户。所以可以在三方用户表中多加一个字段来存放unionid或者openid。

2023-07-29 17:50:56 1359 15

原创 Spring Authorization Server入门 (十三) 实现联合身份认证,集成Github与Gitee的OAuth登录

什么是联合身份认证? 通过Spring Security OAuth2 Client(Login)模块集成第三方登录至自己的认证服务中,使用联合身份认证只需要请求认证服务,不通过前端来跳转三方的授权申请链接,而是统一通过认证服务来跳转,只需要维护Spring Authorization Server中身份认证提供商的关系即可。

2023-07-22 20:39:28 1876 26

原创 Spring Authorization Server优化篇:持久化JWKSource,解决重启后无法解析AccessToken问题

根据上边的分析得出解决方案,在配置JWKSource之前先从redis中尝试获取一下,获取不到就生成并存入redis;获取到直接解析并生成一个JWKSet;根据该逻辑修改AuthorizationConfig类中的JWKSource配置。

2023-07-12 22:53:42 1028 10

原创 Spring Authorization Server入门 (十二) 实现授权码模式使用前后端分离的登录页面

今天的主题就是使用单独部署的登录页面替换认证服务器默认的登录页面(前后端分离时使用前端的登录页面),目前在网上能搜到的很多都是理论,没有很好的一个示例,我就按照我自己的想法写了一个实现,给大家提供一个思路,如果有什么问题或者更好的想法可以在评论区提出,谢谢。

2023-07-10 23:53:35 5420 72

原创 Spring Authorization Server优化篇:添加Redis缓存支持和统一响应类

今天为大家展示一下如何使用Spring data redis来缓存项目中数据,在项目使用人数少的情况下使用HttpSession问题不大,但是当并发多了就顶不住了,基本都会选择一些NoSQL来做缓存。

2023-07-08 21:55:37 1087 6

原创 Spring Authorization Server优化篇:自定义UserDetailsService实现从数据库获取用户信息

本篇文章会带大家实现自定义的UserDetailsService,从数据库获取用户及权限信息;也会带大家了解一下框架是怎么获取用户信息的。

2023-07-05 22:55:49 2321 7

原创 Spring Authorization Server入门 (十一) 自定义grant_type(短信认证登录)获取token

在本系列的第一篇文章“初识SpringAuthorizationServer和OAuth2.1协议”中说过,密码模式已经在OAuth2.1中被废除,但是有很多老项目也依赖于密码模式,比如自己公司内部的app、小程序等都会用到密码模式,虽然框架不支持,但是也提供了自定义grant_type的扩展方式,今天就来实现一下自定义的短信验证登录;哈哈,皮一下,看过前边文章的读者应该明白短信验证登录和密码登录区别不大,最多就是一个校验的问题,所以文章中主打的是短信验证码登录。

2023-06-19 23:58:39 2733 27

原创 Spring Authorization Server入门 (十) 添加短信验证码方式登录

各种网站应用的登录方式一直在往一个简单、方便且安全的方向发展,传统的账号密码已经不能满足需求了,现在通常都是短信验证码登录、扫码登录、刷脸登录等等,今天这篇文章就写一下如何使用Spring Authorization Server实现短信验证码登录;实际上这些也都是Spring security的内容。

2023-06-17 17:15:05 1693 7

原创 Spring Authorization Server入门 (九) Spring Boot引入Resource Server对接认证服务

书接上文,本次来对接一下资源服务,在本篇文章中会带领大家去构建一个资源服务器,通过注解校验token中的权限,怎么放行一个接口,使其不需要认证也可访问。

2023-06-13 16:22:30 2041 12

原创 Spring Authorization Server入门 (八) Spring Boot引入Security OAuth2 Client对接认证服务

本篇文章以较少的代码集成了Security OAuth2 Client,体验到了springboot最开始说的约定大于配置的好处,框架添加了大量的默认配置,只需更改必须修改的自定义部分即可。

2023-06-12 17:45:05 3491 17

原创 Spring Authorization Server入门 (七) 登录添加图形验证码

目前登录接口没有做任何限制,代表任何人都可以编写脚本的方式暴力破解,会造成安全问题,如果写一个循环一直尝试访问登录接口,那么服务器就一直会收到请求,一次请求代表一次查表,会给服务器造成很大的压力,本篇文章就来给登录接口添加一个验证码校验。

2023-06-09 10:49:55 1641 17

原创 Spring Authorization Server入门 (六) 自定义JWT中包含的内容与资源服务jwt解析器

最后经过两个简单的配置实现了自定义的token内容与解析器,这也正是框架灵活与支持高度自定义的体现,实际上这些操作的代码部分都比较少,多的是理论部分,结合文档与源码能够更好的理解框架,文档中对于某些类的应用一般会有详细的说明与示例存在。

2023-06-07 11:33:32 2943 9

原创 Spring Authorization Server入门 (五) 自定义异常响应配置

在第三章的时候就有提到过响应信息的问题,按照oauth协议,异常信息放在响应头中,响应头的key是WWW-Authenticate,通常来说返回一个JSON字符串可以让开发者更方便的对响应做出一些处理。

2023-06-06 15:36:19 2195

原创 Spring Authorization Server入门 (四) 自定义设备码授权

设备码流程一般使用在不便输入的设备上,设备提供一个链接给用户验证,用户在其它设备的浏览器中认证;其它的三方服务需要接入时就按各自特点使用不同的授权方式。

2023-06-05 17:39:56 2039 2

原创 Spring Authorization Server入门 (三) 集成流程说明、细节补充和各种方式获取token测试

至此oauth2.1的所有流程基本都测试了一遍,设备码因为需要在原有基础上进行扩展,也留到下一章的扩展篇一块儿测试,在以后的文章会有设备码流程、登录添加图形验证码、自定义token生成和解析、自定义响应体和去除权限前缀等内容。

2023-06-05 14:47:43 3359 29

原创 Spring Authorization Server入门 (二) Spring Boot整合Spring Authorization Server

本篇文章从0到1搭建了一个简单认证服务,解释了认证服务的各项配置用意,如何设置自己的登录页和授权确认页,如何让认证服务解析请求时携带的token,文章过长难免有遗漏的地方,如果文章中有遗漏或错误的地方请各位读者在评论区指出。

2023-06-02 15:08:35 10065 88

原创 Spring Authorization Server入门 (一) 初识SpringAuthorizationServer和OAuth2.1协议

Spring authorization server是由社区推动的一个项目,在Spring security团队的领导下基于Nimbus库重头编写,其目的主要是为 Spring 社区提供 OAuth 2.0 授权服务器支持,替代已被废弃的Spring Security OAuth框架。Spring authorization server提供了OAuth 2.1和OpenID Connect 1.0规范以及其他相关规范的实现。

2023-06-01 17:16:07 7742 5

原创 Vue3可视化表单生成器

vains-form-designer介绍Vite + TypeScript + Vue3 + Element-plus制作的可视化表单生成器;预览地址项目所需依赖注意:项目中需先添加ElementPlus与ElementIcon的依赖快速开始

2022-01-07 11:29:23 5248 3

转载 vue3.x 目录结构详解

vue3.x 目录结构详解该文章转自博客园的清和时光;原文地址:vue3.x 目录结构详解以下是刚创建的vue3.x 项目的目录我们来解释一下这些目录都是用来干嘛的|-node_modules -- 所有的项目依赖包都放在这个目录下|-public -- 公共文件夹---|favicon.ico -- 网站的显示图标---|index.html -- 入口的html文件|-src -- 源文件目录,编写

2021-12-15 09:36:04 742

原创 Vue3入门系列(二)目录结构认识

Vue3项目npm与vite创建的脚手架项目结构说明。

2021-12-14 17:03:14 1979

原创 Vue3入门系列(一)创建项目

创建项目环境准备NodeJs安装使用npm包管理器安装@vue/cli工具创建项目选择镜像源(可能在选择后不会再出现)选择preset手动选择依赖选择vue版本选择linter/formatter配置:选择在什么时候检测选择配置文件位置(babel,eslint等的配置文件)询问是否生成预设模板等待项目初始化完成项目初始化完成截图项目启动成功截图环境准备Vue依赖NodeJs的环境,需要先安装Nodejs。NodeJs安装打开NodeJs下载页选择自己系统对应的版本下载。比如我的电脑是64

2021-12-09 14:12:13 673

原创 Windows 10 安装Docker Desktop,解决启动时一直是docker is starting...

解决启动时一直是docker is starting...按下 win/ win + s键输入 启用点击打开,找到 Hyper-V,取消选中,点击确定,等待自动重启

2021-06-07 10:37:52 25401 8

原创 SpringCloud Gateway 整合Springfox(SwaggerUI3) 之后调用某一个服务的接口时,请求路径不会加上对应的服务名问题

SpringCloud Gateway 整合Springfox/SwaggerUI3 之后调用某一个服务的接口时,请求路径不会加上对应的服务名问题 写在前边问题描述解决方案效果写在前边当你看到这篇文章时,默认已经整合好了Springcloud/gateway/springfox(swaggerui3), 仅仅是在进行测试服务时出现问题。问题描述通过swagger-ui页面访问时会忽略服务名直接访问swagger映射出的接口,但是我们是通过网关转发的,这么一访问就直接404;如下所示:出现这个问

2021-04-09 10:23:04 2634 10

原创 Spring data elasticsearch添加同义词组件实现同义词热更新

文章目录写在前边SpringBoot 版本Elasticsearch版本(7.6.2)需求说明实现步骤添加同义词组件项目中添加配置配置说明(来自于GitHub中项目说明(README.md))使用配置开发同步同义词接口在项目启动之后创建索引存在的问题写在前边 这是我做完之后整理出来的,如有遗漏或错误的地方,请在评论区指出,非常感谢!假设你做该功能时,已经搭建好Spring data es的环境(elasticsearch和项目都已经搭建成功),es安装了analysis-ik分词器插件,请注意使用

2021-02-21 15:05:43 1319

原创 SpringDataElasticsearch 使用@Highlight注解配合@HighlightParameters注解自定义高亮返回

项目中有用到全文检索功能,要求关键字高亮显示;之前找过相关内容,但是都是需要自己去构建query参数,我个人觉得比较麻烦就去。中找到了以注解的方式去实现高亮功能。本文只分享注解实现高亮相关内容。

2021-02-02 16:05:40 2365 15

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除