[JAVA-29167] Upgrade spring-boot-keycloak to Spring Boot 3 (#15972)

This commit is contained in:
timis1 2024-02-26 22:42:41 +02:00 committed by GitHub
parent d6db20dd02
commit 74da22b9c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 8 deletions

View File

@ -62,7 +62,7 @@ class SecurityConfig {
.permitAll() .permitAll()
.anyRequest() .anyRequest()
.authenticated()); .authenticated());
http.oauth2ResourceServer((oauth2) -> oauth2 http.oauth2ResourceServer(oauth2 -> oauth2
.jwt(Customizer.withDefaults())); .jwt(Customizer.withDefaults()));
http.oauth2Login(Customizer.withDefaults()) http.oauth2Login(Customizer.withDefaults())
.logout(logout -> logout.addLogoutHandler(keycloakLogoutHandler).logoutSuccessUrl("/")); .logout(logout -> logout.addLogoutHandler(keycloakLogoutHandler).logoutSuccessUrl("/"));
@ -88,8 +88,7 @@ class SecurityConfig {
var roles = (Collection<String>) realmAccess.get(ROLES_CLAIM); var roles = (Collection<String>) realmAccess.get(ROLES_CLAIM);
mappedAuthorities.addAll(generateAuthoritiesFromClaim(roles)); mappedAuthorities.addAll(generateAuthoritiesFromClaim(roles));
} else if (userInfo.hasClaim(GROUPS)) { } else if (userInfo.hasClaim(GROUPS)) {
Collection<String> roles = (Collection<String>) userInfo.getClaim( Collection<String> roles = userInfo.getClaim(GROUPS);
GROUPS);
mappedAuthorities.addAll(generateAuthoritiesFromClaim(roles)); mappedAuthorities.addAll(generateAuthoritiesFromClaim(roles));
} }
} else { } else {
@ -97,8 +96,7 @@ class SecurityConfig {
Map<String, Object> userAttributes = oauth2UserAuthority.getAttributes(); Map<String, Object> userAttributes = oauth2UserAuthority.getAttributes();
if (userAttributes.containsKey(REALM_ACCESS_CLAIM)) { if (userAttributes.containsKey(REALM_ACCESS_CLAIM)) {
Map<String, Object> realmAccess = (Map<String, Object>) userAttributes.get( Map<String, Object> realmAccess = (Map<String, Object>) userAttributes.get(REALM_ACCESS_CLAIM);
REALM_ACCESS_CLAIM);
Collection<String> roles = (Collection<String>) realmAccess.get(ROLES_CLAIM); Collection<String> roles = (Collection<String>) realmAccess.get(ROLES_CLAIM);
mappedAuthorities.addAll(generateAuthoritiesFromClaim(roles)); mappedAuthorities.addAll(generateAuthoritiesFromClaim(roles));
} }

View File

@ -4,7 +4,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer; import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
@ -13,7 +13,7 @@ import org.springframework.security.web.SecurityFilterChain;
@Configuration @Configuration
@EnableWebSecurity @EnableWebSecurity
@ConditionalOnProperty(name = "keycloak.enabled", havingValue = "true") @ConditionalOnProperty(name = "keycloak.enabled", havingValue = "true")
@EnableGlobalMethodSecurity(jsr250Enabled = true) @EnableMethodSecurity(jsr250Enabled = true)
public class KeycloakSecurityConfig { public class KeycloakSecurityConfig {
@Bean @Bean
@ -21,7 +21,7 @@ public class KeycloakSecurityConfig {
http.csrf(AbstractHttpConfigurer::disable) http.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(auth -> auth.anyRequest() .authorizeHttpRequests(auth -> auth.anyRequest()
.authenticated()) .authenticated())
.oauth2ResourceServer((oauth2) -> oauth2 .oauth2ResourceServer(oauth2 -> oauth2
.jwt(Customizer.withDefaults())); .jwt(Customizer.withDefaults()));
return http.build(); return http.build();
} }