JAVA-29296 Upgrade spring-security-oidc (#15966)

* JAVA-29296 Upgrade spring-security-oidc

* JAVA-29296 Fix indentation

---------

Co-authored-by: timis1 <noreplay@yahoo.com>
This commit is contained in:
timis1 2024-02-29 02:00:51 +02:00 committed by GitHub
parent 6416a60875
commit 19aab7c638
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 23 additions and 24 deletions

View File

@ -10,7 +10,8 @@
<parent>
<groupId>com.baeldung</groupId>
<artifactId>spring-security-modules</artifactId>
<artifactId>parent-boot-3</artifactId>
<relativePath>../../parent-boot-3</relativePath>
<version>0.0.1-SNAPSHOT</version>
</parent>
@ -29,4 +30,8 @@
</dependency>
</dependencies>
<properties>
<start-class>com.baeldung.openid.oidc.sessionmanagement.SpringOidcSessionManagementApplication</start-class>
</properties>
</project>

View File

@ -16,5 +16,4 @@ public class SpringOidcDiscoveryApplication {
application.addInitializers(yamlInitializer);
application.run(args);
}
}

View File

@ -54,10 +54,10 @@ public class MappingJwtGrantedAuthoritiesConverter implements Converter<Jwt, Col
if ( this.authoritiesClaimName == null ) {
scopeClaim = WELL_KNOWN_AUTHORITIES_CLAIM_NAMES.stream()
.filter( claim -> jwt.hasClaim(claim))
.filter(jwt::hasClaim)
.findFirst()
.orElse(null);
if ( scopeClaim == null ) {
return Collections.emptyList();
}
@ -76,7 +76,7 @@ public class MappingJwtGrantedAuthoritiesConverter implements Converter<Jwt, Col
}
else if ( v instanceof Collection ) {
return ((Collection<?>)v).stream()
.map( s -> s.toString())
.map(Object::toString)
.collect(Collectors.toCollection(HashSet::new));
}
return Collections.emptyList();

View File

@ -64,12 +64,10 @@ public class SecurityConfig {
@Bean
SecurityFilterChain customJwtSecurityChain(HttpSecurity http) throws Exception {
// @formatter:off
return http.oauth2ResourceServer(oauth2 -> {
oauth2.jwt()
.jwtAuthenticationConverter(customJwtAuthenticationConverter(accountService));
})
.build();
return http.oauth2ResourceServer(oauth2 -> oauth2
.jwt(jwtConfigurer -> jwtConfigurer
.jwtAuthenticationConverter(customJwtAuthenticationConverter(accountService))))
.build();
// @formatter:on
}
}

View File

@ -21,10 +21,9 @@ public class OAuth2LoginSecurityConfig {
OidcUserService googleUserService = new OidcUserService();
googleUserService.setAccessibleScopes(googleScopes);
http.authorizeRequests(authorizeRequests -> authorizeRequests.anyRequest()
.authenticated())
.oauth2Login(oauthLogin -> oauthLogin.userInfoEndpoint()
.oidcUserService(googleUserService));
http.authorizeHttpRequests(authorizeRequests -> authorizeRequests.anyRequest().authenticated())
.oauth2Login(oauthLogin -> oauthLogin.userInfoEndpoint(userInfoEndpointConfig ->
userInfoEndpointConfig.oidcUserService(googleUserService)));
return http.build();
}
}

View File

@ -1,11 +1,10 @@
package com.baeldung.openid.oidc.sessionmanagement.config;
import java.net.URI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractAuthenticationFilterConfigurer;
import org.springframework.security.oauth2.client.oidc.web.logout.OidcClientInitiatedLogoutSuccessHandler;
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
import org.springframework.security.web.SecurityFilterChain;
@ -19,19 +18,18 @@ public class OAuth2SessionManagementSecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeRequests(authorizeRequests -> authorizeRequests.mvcMatchers("/home")
.permitAll()
.anyRequest()
.authenticated())
.oauth2Login(oauthLogin -> oauthLogin.permitAll())
.logout(logout -> logout.logoutSuccessHandler(oidcLogoutSuccessHandler()));
http.authorizeHttpRequests(authorizeRequests -> authorizeRequests
.requestMatchers("/home").permitAll()
.anyRequest().authenticated())
.oauth2Login(AbstractAuthenticationFilterConfigurer::permitAll)
.logout(logout -> logout.logoutSuccessHandler(oidcLogoutSuccessHandler()));
return http.build();
}
private LogoutSuccessHandler oidcLogoutSuccessHandler() {
OidcClientInitiatedLogoutSuccessHandler oidcLogoutSuccessHandler = new OidcClientInitiatedLogoutSuccessHandler(this.clientRegistrationRepository);
oidcLogoutSuccessHandler.setPostLogoutRedirectUri(URI.create("http://localhost:8081/home"));
oidcLogoutSuccessHandler.setPostLogoutRedirectUri("http://localhost:8081/home");
return oidcLogoutSuccessHandler;
}