|  | @@ -43,7 +43,7 @@ public class RegisteredClientTests {
 | 
	
		
			
				|  |  |  	private static final Set<String> SCOPES = Collections.unmodifiableSet(
 | 
	
		
			
				|  |  |  			Stream.of("openid", "profile", "email").collect(Collectors.toSet()));
 | 
	
		
			
				|  |  |  	private static final Set<ClientAuthenticationMethod> CLIENT_AUTHENTICATION_METHODS =
 | 
	
		
			
				|  |  | -			Collections.singleton(ClientAuthenticationMethod.BASIC);
 | 
	
		
			
				|  |  | +			Collections.singleton(ClientAuthenticationMethod.CLIENT_SECRET_BASIC);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Test
 | 
	
		
			
				|  |  |  	public void buildWhenAuthorizationGrantTypesNotSetThenThrowIllegalArgumentException() {
 | 
	
	
		
			
				|  | @@ -146,7 +146,7 @@ public class RegisteredClientTests {
 | 
	
		
			
				|  |  |  				.build();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		assertThat(registration.getClientAuthenticationMethods())
 | 
	
		
			
				|  |  | -				.isEqualTo(Collections.singleton(ClientAuthenticationMethod.BASIC));
 | 
	
		
			
				|  |  | +				.isEqualTo(Collections.singleton(ClientAuthenticationMethod.CLIENT_SECRET_BASIC));
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Test
 | 
	
	
		
			
				|  | @@ -280,6 +280,22 @@ public class RegisteredClientTests {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Test
 | 
	
		
			
				|  |  |  	public void buildWhenTwoClientAuthenticationMethodsAreProvidedThenBothAreRegistered() {
 | 
	
		
			
				|  |  | +		RegisteredClient registration = RegisteredClient.withId(ID)
 | 
	
		
			
				|  |  | +				.clientId(CLIENT_ID)
 | 
	
		
			
				|  |  | +				.clientSecret(CLIENT_SECRET)
 | 
	
		
			
				|  |  | +				.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
 | 
	
		
			
				|  |  | +				.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
 | 
	
		
			
				|  |  | +				.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST)
 | 
	
		
			
				|  |  | +				.redirectUris(redirectUris -> redirectUris.addAll(REDIRECT_URIS))
 | 
	
		
			
				|  |  | +				.scopes(scopes -> scopes.addAll(SCOPES))
 | 
	
		
			
				|  |  | +				.build();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		assertThat(registration.getClientAuthenticationMethods())
 | 
	
		
			
				|  |  | +				.containsExactlyInAnyOrder(ClientAuthenticationMethod.CLIENT_SECRET_BASIC, ClientAuthenticationMethod.CLIENT_SECRET_POST);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Test
 | 
	
		
			
				|  |  | +	public void buildWhenBothDeprecatedClientAuthenticationMethodsAreProvidedThenBothNonDeprecatedAreRegistered() {
 | 
	
		
			
				|  |  |  		RegisteredClient registration = RegisteredClient.withId(ID)
 | 
	
		
			
				|  |  |  				.clientId(CLIENT_ID)
 | 
	
		
			
				|  |  |  				.clientSecret(CLIENT_SECRET)
 | 
	
	
		
			
				|  | @@ -291,11 +307,29 @@ public class RegisteredClientTests {
 | 
	
		
			
				|  |  |  				.build();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		assertThat(registration.getClientAuthenticationMethods())
 | 
	
		
			
				|  |  | -				.containsExactlyInAnyOrder(ClientAuthenticationMethod.BASIC, ClientAuthenticationMethod.POST);
 | 
	
		
			
				|  |  | +				.containsExactlyInAnyOrder(ClientAuthenticationMethod.CLIENT_SECRET_BASIC, ClientAuthenticationMethod.CLIENT_SECRET_POST);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Test
 | 
	
		
			
				|  |  |  	public void buildWhenClientAuthenticationMethodsConsumerIsProvidedThenConsumerAccepted() {
 | 
	
		
			
				|  |  | +		RegisteredClient registration = RegisteredClient.withId(ID)
 | 
	
		
			
				|  |  | +				.clientId(CLIENT_ID)
 | 
	
		
			
				|  |  | +				.clientSecret(CLIENT_SECRET)
 | 
	
		
			
				|  |  | +				.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
 | 
	
		
			
				|  |  | +				.clientAuthenticationMethods(clientAuthenticationMethods -> {
 | 
	
		
			
				|  |  | +					clientAuthenticationMethods.add(ClientAuthenticationMethod.CLIENT_SECRET_BASIC);
 | 
	
		
			
				|  |  | +					clientAuthenticationMethods.add(ClientAuthenticationMethod.CLIENT_SECRET_POST);
 | 
	
		
			
				|  |  | +				})
 | 
	
		
			
				|  |  | +				.redirectUris(redirectUris -> redirectUris.addAll(REDIRECT_URIS))
 | 
	
		
			
				|  |  | +				.scopes(scopes -> scopes.addAll(SCOPES))
 | 
	
		
			
				|  |  | +				.build();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		assertThat(registration.getClientAuthenticationMethods())
 | 
	
		
			
				|  |  | +				.containsExactlyInAnyOrder(ClientAuthenticationMethod.CLIENT_SECRET_BASIC, ClientAuthenticationMethod.CLIENT_SECRET_POST);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Test
 | 
	
		
			
				|  |  | +	public void buildWhenConsumerAddsDeprecatedClientAuthenticationMethodsThenNonDeprecatedAreRegistered() {
 | 
	
		
			
				|  |  |  		RegisteredClient registration = RegisteredClient.withId(ID)
 | 
	
		
			
				|  |  |  				.clientId(CLIENT_ID)
 | 
	
		
			
				|  |  |  				.clientSecret(CLIENT_SECRET)
 | 
	
	
		
			
				|  | @@ -309,7 +343,7 @@ public class RegisteredClientTests {
 | 
	
		
			
				|  |  |  				.build();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		assertThat(registration.getClientAuthenticationMethods())
 | 
	
		
			
				|  |  | -				.containsExactlyInAnyOrder(ClientAuthenticationMethod.BASIC, ClientAuthenticationMethod.POST);
 | 
	
		
			
				|  |  | +				.containsExactlyInAnyOrder(ClientAuthenticationMethod.CLIENT_SECRET_BASIC, ClientAuthenticationMethod.CLIENT_SECRET_POST);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Test
 |