Skip to content

Commit 2084fa0

Browse files
committed
1 parent d9b9c4f commit 2084fa0

File tree

5 files changed

+23
-26
lines changed

5 files changed

+23
-26
lines changed

oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/client/RegisteredClient.java

+14-12
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ public static class Builder implements Serializable {
182182
private Set<AuthorizationGrantType> authorizationGrantTypes = new LinkedHashSet<>();
183183
private Set<String> redirectUris = new LinkedHashSet<>();
184184
private Set<String> scopes = new LinkedHashSet<>();
185-
private ClientSettings clientSettings;
186-
private TokenSettings tokenSettings;
185+
private ClientSettings clientSettings = new ClientSettings();
186+
private TokenSettings tokenSettings = new TokenSettings();
187187

188188
protected Builder(String id) {
189189
this.id = id;
@@ -337,24 +337,26 @@ public Builder scopes(Consumer<Set<String>> scopesConsumer) {
337337
}
338338

339339
/**
340-
* Sets the {@link ClientSettings client configuration settings}.
340+
* A {@link Consumer} of the client configuration settings,
341+
* allowing the ability to add, replace, or remove.
341342
*
342-
* @param clientSettings the client configuration settings
343+
* @param clientSettingsConsumer a {@link Consumer} of the client configuration settings
343344
* @return the {@link Builder}
344345
*/
345-
public Builder clientSettings(ClientSettings clientSettings) {
346-
this.clientSettings = clientSettings;
346+
public Builder clientSettings(Consumer<ClientSettings> clientSettingsConsumer) {
347+
clientSettingsConsumer.accept(this.clientSettings);
347348
return this;
348349
}
349350

350351
/**
351-
* Sets the {@link TokenSettings token configuration settings}.
352+
* A {@link Consumer} of the token configuration settings,
353+
* allowing the ability to add, replace, or remove.
352354
*
353-
* @param tokenSettings the token configuration settings
355+
* @param tokenSettingsConsumer a {@link Consumer} of the token configuration settings
354356
* @return the {@link Builder}
355357
*/
356-
public Builder tokenSettings(TokenSettings tokenSettings) {
357-
this.tokenSettings = tokenSettings;
358+
public Builder tokenSettings(Consumer<TokenSettings> tokenSettingsConsumer) {
359+
tokenSettingsConsumer.accept(this.tokenSettings);
358360
return this;
359361
}
360362

@@ -388,8 +390,8 @@ private RegisteredClient create() {
388390
registeredClient.authorizationGrantTypes = Collections.unmodifiableSet(this.authorizationGrantTypes);
389391
registeredClient.redirectUris = Collections.unmodifiableSet(this.redirectUris);
390392
registeredClient.scopes = Collections.unmodifiableSet(this.scopes);
391-
registeredClient.clientSettings = this.clientSettings != null ? this.clientSettings : new ClientSettings();
392-
registeredClient.tokenSettings = this.tokenSettings != null ? this.tokenSettings : new TokenSettings();
393+
registeredClient.clientSettings = this.clientSettings;
394+
registeredClient.tokenSettings = this.tokenSettings;
393395

394396
return registeredClient;
395397
}

oauth2-authorization-server/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/authorization/OAuth2AuthorizationCodeGrantTests.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
4242
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository;
4343
import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients;
44-
import org.springframework.security.oauth2.server.authorization.config.ClientSettings;
4544
import org.springframework.security.oauth2.server.authorization.web.OAuth2AuthorizationEndpointFilter;
4645
import org.springframework.security.oauth2.server.authorization.web.OAuth2TokenEndpointFilter;
4746
import org.springframework.test.web.servlet.MockMvc;
@@ -179,7 +178,7 @@ public void requestWhenPublicClientWithPkceThenReturnAccessToken() throws Except
179178

180179
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
181180
.clientSecret(null)
182-
.clientSettings(new ClientSettings().requireProofKey(true))
181+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
183182
.build();
184183
when(registeredClientRepository.findByClientId(eq(registeredClient.getClientId())))
185184
.thenReturn(registeredClient);

oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2ClientAuthenticationProviderTests.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
3030
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository;
3131
import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients;
32-
import org.springframework.security.oauth2.server.authorization.config.ClientSettings;
3332

3433
import java.util.HashMap;
3534
import java.util.Map;
@@ -179,8 +178,7 @@ public void authenticateWhenPkceAndInvalidCodeThenThrowOAuth2AuthenticationExcep
179178
@Test
180179
public void authenticateWhenPkceAndRequireProofKeyAndMissingCodeChallengeThenThrowOAuth2AuthenticationException() {
181180
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
182-
.clientSettings(
183-
new ClientSettings().requireProofKey(true))
181+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
184182
.build();
185183
when(this.registeredClientRepository.findByClientId(eq(registeredClient.getClientId())))
186184
.thenReturn(registeredClient);

oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationEndpointFilterTests.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
4141
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository;
4242
import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients;
43-
import org.springframework.security.oauth2.server.authorization.config.ClientSettings;
4443
import org.springframework.util.StringUtils;
4544

4645
import javax.servlet.FilterChain;
@@ -269,7 +268,7 @@ public void doFilterWhenAuthorizationRequestInvalidScopeThenInvalidScopeError()
269268
@Test
270269
public void doFilterWhenPkceRequiredAndMissingCodeChallengeThenInvalidRequestError() throws Exception {
271270
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
272-
.clientSettings(new ClientSettings().requireProofKey(true))
271+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
273272
.build();
274273
when(this.registeredClientRepository.findByClientId((eq(registeredClient.getClientId()))))
275274
.thenReturn(registeredClient);
@@ -288,7 +287,7 @@ public void doFilterWhenPkceRequiredAndMissingCodeChallengeThenInvalidRequestErr
288287
@Test
289288
public void doFilterWhenPkceRequiredAndMultipleCodeChallengeThenInvalidRequestError() throws Exception {
290289
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
291-
.clientSettings(new ClientSettings().requireProofKey(true))
290+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
292291
.build();
293292
when(this.registeredClientRepository.findByClientId((eq(registeredClient.getClientId()))))
294293
.thenReturn(registeredClient);
@@ -324,7 +323,7 @@ public void doFilterWhenPkceNotRequiredAndMultipleCodeChallengeThenInvalidReques
324323
@Test
325324
public void doFilterWhenPkceRequiredAndMultipleCodeChallengeMethodThenInvalidRequestError() throws Exception {
326325
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
327-
.clientSettings(new ClientSettings().requireProofKey(true))
326+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
328327
.build();
329328
when(this.registeredClientRepository.findByClientId((eq(registeredClient.getClientId()))))
330329
.thenReturn(registeredClient);
@@ -360,7 +359,7 @@ public void doFilterWhenPkceNotRequiredAndMultipleCodeChallengeMethodThenInvalid
360359
@Test
361360
public void doFilterWhenPkceRequiredAndUnsupportedCodeChallengeMethodThenInvalidRequestError() throws Exception {
362361
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
363-
.clientSettings(new ClientSettings().requireProofKey(true))
362+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
364363
.build();
365364
when(this.registeredClientRepository.findByClientId((eq(registeredClient.getClientId()))))
366365
.thenReturn(registeredClient);
@@ -457,7 +456,7 @@ public void doFilterWhenAuthorizationRequestValidThenAuthorizationResponse() thr
457456
@Test
458457
public void doFilterWhenPkceRequiredAndAuthorizationRequestValidThenAuthorizationResponse() throws Exception {
459458
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
460-
.clientSettings(new ClientSettings().requireProofKey(true))
459+
.clientSettings(clientSettings -> clientSettings.requireProofKey(true))
461460
.build();
462461
when(this.registeredClientRepository.findByClientId((eq(registeredClient.getClientId()))))
463462
.thenReturn(registeredClient);
@@ -503,7 +502,7 @@ public void doFilterWhenPkceRequiredAndAuthorizationRequestValidThenAuthorizatio
503502
@Test
504503
public void doFilterWhenUserConsentRequiredAndAuthorizationRequestValidThenUserConsentResponse() throws Exception {
505504
RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
506-
.clientSettings(new ClientSettings().requireUserConsent(true))
505+
.clientSettings(clientSettings -> clientSettings.requireUserConsent(true))
507506
.build();
508507
when(this.registeredClientRepository.findByClientId((eq(registeredClient.getClientId()))))
509508
.thenReturn(registeredClient);

samples/boot/oauth2-integration/authorizationserver/src/main/java/sample/config/AuthorizationServerConfig.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.springframework.security.oauth2.server.authorization.client.InMemoryRegisteredClientRepository;
3030
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
3131
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository;
32-
import org.springframework.security.oauth2.server.authorization.config.ClientSettings;
3332
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
3433

3534
import java.util.UUID;
@@ -54,7 +53,7 @@ public RegisteredClientRepository registeredClientRepository() {
5453
.redirectUri("http://localhost:8080/authorized")
5554
.scope("message.read")
5655
.scope("message.write")
57-
.clientSettings(new ClientSettings().requireUserConsent(true))
56+
.clientSettings(clientSettings -> clientSettings.requireUserConsent(true))
5857
.build();
5958
return new InMemoryRegisteredClientRepository(registeredClient);
6059
}

0 commit comments

Comments
 (0)