Java

Spring Security OAuth2之认证服务、资源服务、web安全配置服务加载优先级详解

Spring Security OAuth2之认证服务、资源服务、web安全配置服务加载优先级详解

搭建Spring Security OAuth2认证服务,经常会遇到在资源服务器中配置生效,但是在web安全配置类中配置就不生效等等类似的问题,深入研究了下原来是三个类在IOC容器之中加载的优先级问题所造成的,下面我们就一步一步来分析下三个类的优先级问题; @EnableAuthorizationS

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2 Redis存储token refresh_token永不过期问题解决

Spring Security OAuth2 Redis存储token refresh_token永不过期问题解决

OAuth2AccessToken接口的默认实现是DefaultOAuth2AccessToken类(自带过期时间属性) OAuth2RefreshToken接口的默认实现是DefaultOAuth2RefreshToken类(不带过期时间属性) ExpiringOAuth2RefreshToken

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2 使用Redis存储token键值详解

Spring Security OAuth2 使用Redis存储token键值详解

Spring Security OAuth2存储token值的方式 Spring Security OAuth2存储token值的方式有多种,所有的实现方式都是实现了TokenStore接口 InMemoryTokenStore:token存储在本机的内存之中 JdbcTokenStore:tok

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2 token存储Redis用户登出logOut

Spring Security OAuth2 token存储Redis用户登出logOut

Redis用户登出有两种方案,一种是通过资源服务器配置logoutSuccessHandler处理函数,并实现LogoutSuccessHandler接口来处理退出用户; 另外一种是自定义封装接口,通过RedisTokenStore来删除用户信息的形式; 通过资源服务器或认证服务器配置的方式 W

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2 password模式、refresh_token模式访问/oauth/token端点

Spring Security OAuth2 password模式、refresh_token模式访问/oauth/token端点

/oauth/token 端点 端点过滤器TokenEndpointAuthenticationFilter 端点对应的action类TokenEndpoint 受保护的资源信息类ResourceOwnerPasswordResourceDetails 和认证服务器交互资源信息类ResourceO

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2认证资源服务器异常处理

Spring Security OAuth2认证资源服务器异常处理

两个异常处理的接口 AuthenticationEntryPoint:用来解决匿名用户访问无权限资源时的异常,也就是跟token相关的资源异常 AccessDeniedHandler:用来解决认证过的用户访问无权限资源时的异常,主要跟权限控制相关 自定义AuthenticationEntryPoi

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2 认证服务器自定义异常处理

Spring Security OAuth2 认证服务器自定义异常处理

认证服务器默认返回的数据格式如下: { "error": "unsupported_grant_type", "error_description": "Unsupported grant type: passwo

Joe.Ye Joe.Ye 2023-03-20
0 0 0
Spring Security OAuth2 Redis 资源服务器配置

Spring Security OAuth2 Redis 资源服务器配置

资源服务器相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifa

Joe.Ye Joe.Ye 2023-03-19
0 0 0
Spring Security OAuth2 Redis 模式下认证服务器

Spring Security OAuth2 Redis 模式下认证服务器

四种授权码模式 授权码模式 密码模式 客户端模式 简化模式 密码模式 grant_type:授权类型,必选,此处固定值“password” username:表示用户名,必选 password:表示用户密码,必选 scope:权限范围,可选 (1)获取access_token http:/

Joe.Ye Joe.Ye 2023-03-19
0 0 0
Spring Security OAuth2 JWT 资源服务器配置

Spring Security OAuth2 JWT 资源服务器配置

POM相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifact

Joe.Ye Joe.Ye 2023-03-19
0 0 0
Spring Security OAuth2 JWT 认证服务器配置

Spring Security OAuth2 JWT 认证服务器配置

四种授权模式 授权码模式 密码模式 客户端模式 简化模式 密码模式 grant_type:授权类型,必选,此处固定值password username:表示用户名,必选 password:表示用户密码,必选 scope:权限范围,可选 (1)获取access_token http://lo

Joe.Ye Joe.Ye 2023-03-19
0 0 0
基于JWT的token身份认证方案

基于JWT的token身份认证方案

使用JSON Web Token的好处 性能问题 验证信息可以由前端保存,后端不需要为保存token消耗内存。JWT方式将用户状态分散到了客户端中,相比于Session,可以明显减轻服务端的内存压力。 Session方式存储用户id的最大弊病在于Session是存储在服务器端的,所以需要占用大量服

Joe.Ye Joe.Ye 2023-03-19
0 0 0
Java高级开发技巧记录

Java高级开发技巧记录

//对象拷贝 BeanUtils.copyProperties(object, object) //集合工具 CollectionUtils.isEmpty(list) List<Long> ids = items.stream().map(p -> p.getId()).col

Joe.Ye Joe.Ye 2023-03-19
0 0 0
Java判断IP地址是否在CIDR范围内

Java判断IP地址是否在CIDR范围内

Java原生算法 //核心代码,检索IP所属网段 public boolean isInRange(String ip, String cidr) { String[] ips = ip.split("\\."); long ipAddr = (Long.pars

Joe.Ye Joe.Ye 2023-03-19
0 0 0
Java通过解析文件获取apk信息

Java通过解析文件获取apk信息

参考:https://github.com/bihe0832/Android-GetAPKInfo ApkInfo @Data @NoArgsConstructor public class ApkInfo { public String versionCode = "&quot

Joe.Ye Joe.Ye 2023-03-19
0 0 0
1 15 16 17 18 19 29