From 2e395cf2153fc3c6b5a5def3b68a58c9bba017e5 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Wed, 6 Nov 2024 21:22:06 -0300 Subject: [PATCH] Removes Session From OAuth2 --- .gitignore | 2 +- .../hideyoshi/auth/config/RedisConfig.java | 18 ++++++++++ .../repository/OAuthRequestRepository.java | 36 +++++++++---------- src/main/resources/application.yml | 1 + 4 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 src/main/java/br/com/hideyoshi/auth/config/RedisConfig.java diff --git a/.gitignore b/.gitignore index 13dcb63..572cbbc 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ build/ ### VS Code ### .vscode/ -src/main/resources/application-devel.yml +src/main/resources/*-devel.yml ### Maven ### target/ diff --git a/src/main/java/br/com/hideyoshi/auth/config/RedisConfig.java b/src/main/java/br/com/hideyoshi/auth/config/RedisConfig.java new file mode 100644 index 0000000..ff0fefa --- /dev/null +++ b/src/main/java/br/com/hideyoshi/auth/config/RedisConfig.java @@ -0,0 +1,18 @@ +package br.com.hideyoshi.auth.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.repository.configuration.EnableRedisRepositories; + +@Configuration +@EnableRedisRepositories +public class RedisConfig { + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate template = new RedisTemplate(); + template.setConnectionFactory(redisConnectionFactory); + return template; + } +} diff --git a/src/main/java/br/com/hideyoshi/auth/security/oauth2/repository/OAuthRequestRepository.java b/src/main/java/br/com/hideyoshi/auth/security/oauth2/repository/OAuthRequestRepository.java index fa88df3..9f60024 100644 --- a/src/main/java/br/com/hideyoshi/auth/security/oauth2/repository/OAuthRequestRepository.java +++ b/src/main/java/br/com/hideyoshi/auth/security/oauth2/repository/OAuthRequestRepository.java @@ -1,6 +1,8 @@ package br.com.hideyoshi.auth.security.oauth2.repository; +import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.security.oauth2.client.web.AuthorizationRequestRepository; import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest; import org.springframework.stereotype.Repository; @@ -11,11 +13,13 @@ import java.util.Objects; @Log4j2 @Repository +@RequiredArgsConstructor public class OAuthRequestRepository implements AuthorizationRequestRepository { + private final RedisTemplate template; + @Override public OAuth2AuthorizationRequest loadAuthorizationRequest(HttpServletRequest request) { - String state = request.getParameter("state"); if (Objects.nonNull(state)) { return removeAuthorizationRequest(request); @@ -25,14 +29,7 @@ public class OAuthRequestRepository implements AuthorizationRequestRepository