Skip to content

Commit e139f1c

Browse files
committed
Polish gh-12438
1 parent 919280b commit e139f1c

File tree

3 files changed

+29
-28
lines changed

3 files changed

+29
-28
lines changed

config/src/main/java/org/springframework/security/config/web/server/ServerHttpSecurity.java

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3829,31 +3829,11 @@ public final class OAuth2ClientSpec {
38293829

38303830
private ServerAuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository;
38313831

3832-
private ServerRedirectStrategy authorizationRedirectStrategy;
3833-
38343832
private ServerOAuth2AuthorizationRequestResolver authorizationRequestResolver;
38353833

3836-
private OAuth2ClientSpec() {
3837-
}
3838-
3839-
/**
3840-
* Sets the resolver used for resolving {@link OAuth2AuthorizationRequest}'s.
3841-
* @param authorizationRequestResolver the resolver used for resolving
3842-
* {@link OAuth2AuthorizationRequest}'s
3843-
* @return the {@link OAuth2ClientSpec} for further configuration
3844-
* @since 6.1
3845-
*/
3846-
public OAuth2ClientSpec authorizationRequestResolver(
3847-
ServerOAuth2AuthorizationRequestResolver authorizationRequestResolver) {
3848-
this.authorizationRequestResolver = authorizationRequestResolver;
3849-
return this;
3850-
}
3834+
private ServerRedirectStrategy authorizationRedirectStrategy;
38513835

3852-
private OAuth2AuthorizationRequestRedirectWebFilter getRedirectWebFilter() {
3853-
if (this.authorizationRequestResolver != null) {
3854-
return new OAuth2AuthorizationRequestRedirectWebFilter(this.authorizationRequestResolver);
3855-
}
3856-
return new OAuth2AuthorizationRequestRedirectWebFilter(getClientRegistrationRepository());
3836+
private OAuth2ClientSpec() {
38573837
}
38583838

38593839
/**
@@ -3945,6 +3925,26 @@ private ServerAuthorizationRequestRepository<OAuth2AuthorizationRequest> getAuth
39453925
return this.authorizationRequestRepository;
39463926
}
39473927

3928+
/**
3929+
* Sets the resolver used for resolving {@link OAuth2AuthorizationRequest}'s.
3930+
* @param authorizationRequestResolver the resolver used for resolving
3931+
* {@link OAuth2AuthorizationRequest}'s
3932+
* @return the {@link OAuth2ClientSpec} to customize
3933+
* @since 6.1
3934+
*/
3935+
public OAuth2ClientSpec authorizationRequestResolver(
3936+
ServerOAuth2AuthorizationRequestResolver authorizationRequestResolver) {
3937+
this.authorizationRequestResolver = authorizationRequestResolver;
3938+
return this;
3939+
}
3940+
3941+
private OAuth2AuthorizationRequestRedirectWebFilter getRedirectWebFilter() {
3942+
if (this.authorizationRequestResolver != null) {
3943+
return new OAuth2AuthorizationRequestRedirectWebFilter(this.authorizationRequestResolver);
3944+
}
3945+
return new OAuth2AuthorizationRequestRedirectWebFilter(getClientRegistrationRepository());
3946+
}
3947+
39483948
/**
39493949
* Sets the redirect strategy for Authorization Endpoint redirect URI.
39503950
* @param authorizationRedirectStrategy the redirect strategy
@@ -3971,7 +3971,6 @@ public ServerHttpSecurity and() {
39713971
}
39723972

39733973
protected void configure(ServerHttpSecurity http) {
3974-
ReactiveClientRegistrationRepository clientRegistrationRepository = getClientRegistrationRepository();
39753974
ServerOAuth2AuthorizedClientRepository authorizedClientRepository = getAuthorizedClientRepository();
39763975
ServerAuthenticationConverter authenticationConverter = getAuthenticationConverter();
39773976
ReactiveAuthenticationManager authenticationManager = getAuthenticationManager();

config/src/test/java/org/springframework/security/config/web/server/OAuth2ClientSpecTests.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2020 the original author or authors.
2+
* Copyright 2002-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -39,8 +39,8 @@
3939
import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
4040
import org.springframework.security.oauth2.client.registration.TestClientRegistrations;
4141
import org.springframework.security.oauth2.client.web.server.ServerAuthorizationRequestRepository;
42-
import org.springframework.security.oauth2.client.web.server.ServerOAuth2AuthorizedClientRepository;
4342
import org.springframework.security.oauth2.client.web.server.ServerOAuth2AuthorizationRequestResolver;
43+
import org.springframework.security.oauth2.client.web.server.ServerOAuth2AuthorizedClientRepository;
4444
import org.springframework.security.oauth2.core.OAuth2AccessToken;
4545
import org.springframework.security.oauth2.core.TestOAuth2AccessTokens;
4646
import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationExchange;
@@ -134,8 +134,8 @@ public void oauth2ClientWhenCustomObjectsThenUsed() {
134134
ServerAuthenticationConverter converter = config.authenticationConverter;
135135
ReactiveAuthenticationManager manager = config.manager;
136136
ServerAuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository = config.authorizationRequestRepository;
137-
ServerRequestCache requestCache = config.requestCache;
138137
ServerOAuth2AuthorizationRequestResolver resolver = config.resolver;
138+
ServerRequestCache requestCache = config.requestCache;
139139
OAuth2AuthorizationRequest authorizationRequest = TestOAuth2AuthorizationRequests.request()
140140
.redirectUri("/authorize/oauth2/code/registration-id").build();
141141
OAuth2AuthorizationResponse authorizationResponse = TestOAuth2AuthorizationResponses.success()
@@ -268,10 +268,10 @@ static class OAuth2ClientCustomConfig {
268268
ServerAuthorizationRequestRepository<OAuth2AuthorizationRequest> authorizationRequestRepository = mock(
269269
ServerAuthorizationRequestRepository.class);
270270

271-
ServerRequestCache requestCache = mock(ServerRequestCache.class);
272-
273271
ServerOAuth2AuthorizationRequestResolver resolver = mock(ServerOAuth2AuthorizationRequestResolver.class);
274272

273+
ServerRequestCache requestCache = mock(ServerRequestCache.class);
274+
275275
@Bean
276276
SecurityWebFilterChain springSecurityFilter(ServerHttpSecurity http) {
277277
// @formatter:off

docs/modules/ROOT/pages/reactive/oauth2/client/index.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class OAuth2ClientSecurityConfig {
3939
.clientRegistrationRepository(this.clientRegistrationRepository())
4040
.authorizedClientRepository(this.authorizedClientRepository())
4141
.authorizationRequestRepository(this.authorizationRequestRepository())
42+
.authorizationRequestResolver(this.authorizationRequestResolver())
4243
.authenticationConverter(this.authenticationConverter())
4344
.authenticationManager(this.authenticationManager())
4445
);
@@ -62,6 +63,7 @@ class OAuth2ClientSecurityConfig {
6263
clientRegistrationRepository = clientRegistrationRepository()
6364
authorizedClientRepository = authorizedClientRepository()
6465
authorizationRequestRepository = authorizedRequestRepository()
66+
authorizationRequestResolver = authorizationRequestResolver()
6567
authenticationConverter = authenticationConverter()
6668
authenticationManager = authenticationManager()
6769
}

0 commit comments

Comments
 (0)