- 博客(13)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 SpringSecurity身份认证信息持久化
使用该配置后,重要的是,如果SecurityContext应在请求之间持久化,则任何使用SecurityContext设置SecurityContextHolder的代码也应将SecurityContext保存到SecurityContextRepository。当用户登录成功后,后续要访问其它资源,就还需要认证,因为认证信息的生命周期只存在于一个请求中会话中,这显示是不合理的。如果想让用户能够持续有效访问其它资源,则必须把认证信息持久化,例如存在数据库,缓存中等等...作用:持久化用户认证信息。
2025-02-26 10:47:25
678
原创 OIDC协议中提供给用户退出的三种场景,那种你更需要呢?
这个退出没什么讲的,因为就是SpringSecurity的logout,和OIDC一点关系也没有。这种退出操作执行后,本地的session失效了,但server端颁发的token还没失效,还能用。OpenID Connect协议中有关session的管理是允许用户退出的,而由client发起退出是其中一种场景。只要在yaml中配置一个issuer-uri就行,因为oauth2 client会根据地址找到所有信息。打开地址后,你会发现有 end_session_endpoint ,这个就是退出地址。
2025-02-21 17:33:17
803
原创 SpringSecurity OAuth2 Server认证方式之client_secret_jwt采用jwt签名加密的方式,更加安全!
JDK17spring-security-oauth2-authorization-server 1.3.0 以上spring-boot-starter-oauth2-client 3.3.0 以上Spring Boot 3.3.0 以上该文章中的项目代码是基于的代码进行改进的。如果不了解,可以直接下载,或看之前的文章。
2024-07-10 15:42:59
1013
原创 2024年最新SpringSecurityOAuth2实战(配源码),数据库配置,JWT Token时间设置,公共客户端的实践总结
refresh_token的时间要比access_token的时间长,但一定要大于60秒。因为OAuth2Client程序会判断,会提前60秒进行refresh token。就会使用refresh_token重新获取。数据库配置好后,Spring会构建一个JdbcTemplate到容器中。reuseRefreshToken=true的话,refresh_token会被多次使用。OAuth2 配置数据库,把client信息和token信息保存到数据库中,以免宕机重启后token失效。
2024-07-10 09:47:16
683
原创 SpringSecurity OAuth2 Server 核心组件之OAuth2AuthorizationService,缓存Token就靠它了,但最好把它改造成Redis内核哦!
另一个是基于数据库的:JdbcOAuth2AuthorizationService(对并发量有影响,另外这些数据没必要持久保存)OAuth2AuthorizationService是用于存储和管理授权对象OAuth2Authorization。在很多地方,其它的相关组件都会用到它,例如,客户端身份验证、授权授予处理、令牌内省、令牌吊销、动态客户端注册等等。授权对象很容易理解,这个和一个bean对象差不多,主要包含clientId和对应的token数据。有任何问题都可以加我QQ:3218138121。
2024-07-02 16:18:36
934
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (七)OAuth2经典场景~授权码模式+自定义登录页面&授权页面
SpringSecurity OAuth2 Server 所有组件完全可以自定义,这里我们自定义了一下授权协议的终节点,/oauth2/consent是自定义的路径,它指定了一个自定义的Controller。
2024-06-28 20:28:45
939
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (六)OAuth2经典场景~授权码模式
2024 最新 SpringSecurity OAuth2 授权码模式完成示例!JDK17spring-security-oauth2-authorization-server 1.3.0 以上spring-boot-starter-oauth2-client 3.3.0 以上Spring Boot 3.3.0 以上修改 C:\Windows\System32\drivers\etc\hosts文件。(如果授权服务器和客户端在不同的域名下,就不用修改了)
2024-06-25 11:32:18
2358
2
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (五)客户端服务器搭建
额~ 代码已经上传到了,觉得啰嗦的话,可以直接去看代码。但能不能点个攒!thank you~
2024-06-21 15:53:18
881
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (四)资源服务器搭建
当客户端带着token去访问接口,资源服务器会进行认证,只有验签没问题才能访问。省下的web包中的Controller都是些简单的接口,可以去git仓库中查看。以上是pom的全部信息。只不过咱们这里所说的资源是网络资源,例如:接口,数据,图片,多媒体等等。资源服务器主要就是管理资源的访问,就像一名仓库管理员。如:/userinfo。它是有一个认证机制的,就像OAuth协议中规定的。,从而构建出Jwt Decoder(解码器)。资源服务器管理服务器上的资源。仓库管理员管理仓库中的资源。
2024-06-21 11:01:38
814
原创 2024年最新OAuth2服务组件:Spring Authorization Server 简介及特性
Spring Authorization Server是一个提供OAuth 2.1和OpenID Connect 1.0规范以及其他相关规范实现的框架。它构建在Spring Security之上,为构建OpenID Connect 1.0身份提供程序和OAuth2授权服务器。提供了一个安全、轻量级和可定制的基础。
2024-06-21 09:32:41
1051
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (三)
OAuth2认证对象,主要是第三方应用,即客户端clientClient分两种:开放客户端,私有客户端所谓开放客户端就是,随便那个人都能启个应用服务,然后跑到授权平台去注册。比如企业微信。私有客户端是指公司企业内部的应用服务,同时授权服务也是公司内部的,它们俩自己人和自己人玩。很多大公司都有自己的单点登录服务,就是会用到OAuth协议。这两种客户端在认证方式上本质没什么分别,因为谁都想认证方式更安全,更好用。只是给不给你用而已!
2024-06-20 11:31:41
885
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (二)
OAuth2 整体分三总分:OAuth授权服务(Authorization),OAuth资源服务(Authentication),客户端服务(Client Service 其实就是一个web服务,它是来用OAuth的)Spring Security 轻松的就搞定了所有配置。Nice当然想玩转Spring Security OAuth 还有很乐子在里面。下一篇文章再深入讲一下,其它玩儿法。
2024-06-20 10:34:13
885
原创 SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (一)
配置:Maven,SpringBoot3.3.0,Spring-Security-oauth2-authorization-server 1.3.0(这个在pom中是用starter代替掉了),最后是JDK17,当然jdk版本不是必须的,其它版本也是可以的,只要别太低。作者当前用的SpringBoot是3.3.0的,算是比较新的版本,在这个版本的依赖列表中,Spring Authorization Server的版本是1.3.0。这里非常确定的告诉大家,资源服务器的代码和授权服务代码是写在一个项目中的。
2024-06-19 16:51:28
1570
1
Quickwit 云存储上最快的搜索引擎
2024-06-20
Azure SDK for Java 文档
2024-06-20
Spring事务,未提交。MySQL中的autoincrement却自增了
2016-09-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人