|
|
|
|
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
|
|
|
|
/* |
|
|
|
|
* Copyright 2002-2020 the original author or authors. |
|
|
|
|
* Copyright 2002-2021 the original author or authors. |
|
|
|
|
* |
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
|
@ -298,6 +298,24 @@ public class ClientRegistrationsTests {
@@ -298,6 +298,24 @@ public class ClientRegistrationsTests {
|
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenClientSecretBasicAuthMethodThenMethodIsBasic() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("client_secret_basic")); |
|
|
|
|
ClientRegistration registration = registration("").build(); |
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenOAuth2ClientSecretBasicAuthMethodThenMethodIsBasic() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("client_secret_basic")); |
|
|
|
|
ClientRegistration registration = registrationOAuth2("", null).build(); |
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenTokenEndpointAuthMethodsPostThenMethodIsPost() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("client_secret_post")); |
|
|
|
|
@ -314,6 +332,46 @@ public class ClientRegistrationsTests {
@@ -314,6 +332,46 @@ public class ClientRegistrationsTests {
|
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_POST); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenClientSecretJwtAuthMethodThenMethodIsClientSecretBasic() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("client_secret_jwt")); |
|
|
|
|
ClientRegistration registration = registration("").build(); |
|
|
|
|
// The client_secret_basic auth method is still the default
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenOAuth2ClientSecretJwtAuthMethodThenMethodIsClientSecretBasic() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("client_secret_jwt")); |
|
|
|
|
ClientRegistration registration = registrationOAuth2("", null).build(); |
|
|
|
|
// The client_secret_basic auth method is still the default
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenPrivateKeyJwtAuthMethodThenMethodIsClientSecretBasic() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("private_key_jwt")); |
|
|
|
|
ClientRegistration registration = registration("").build(); |
|
|
|
|
// The client_secret_basic auth method is still the default
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenOAuth2PrivateKeyJwtAuthMethodThenMethodIsClientSecretBasic() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("private_key_jwt")); |
|
|
|
|
ClientRegistration registration = registrationOAuth2("", null).build(); |
|
|
|
|
// The client_secret_basic auth method is still the default
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenTokenEndpointAuthMethodsNoneThenMethodIsNone() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("none")); |
|
|
|
|
@ -328,32 +386,24 @@ public class ClientRegistrationsTests {
@@ -328,32 +386,24 @@ public class ClientRegistrationsTests {
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()).isEqualTo(ClientAuthenticationMethod.NONE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* We currently only support client_secret_basic, so verify we have a meaningful error |
|
|
|
|
* until we add support. |
|
|
|
|
*/ |
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenTokenEndpointAuthMethodsInvalidThenException() { |
|
|
|
|
public void issuerWhenTlsClientAuthMethodThenSuccess() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("tls_client_auth")); |
|
|
|
|
// @formatter:off
|
|
|
|
|
assertThatIllegalArgumentException() |
|
|
|
|
.isThrownBy(() -> registration("")) |
|
|
|
|
.withMessageContaining("Only ClientAuthenticationMethod.CLIENT_SECRET_BASIC, ClientAuthenticationMethod.CLIENT_SECRET_POST and " |
|
|
|
|
+ "ClientAuthenticationMethod.NONE are supported. The issuer \"" + this.issuer |
|
|
|
|
+ "\" returned a configuration of [tls_client_auth]"); |
|
|
|
|
// @formatter:on
|
|
|
|
|
ClientRegistration registration = registration("").build(); |
|
|
|
|
// The client_secret_basic auth method is still the default
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// gh-9780
|
|
|
|
|
@Test |
|
|
|
|
public void issuerWhenOAuth2TokenEndpointAuthMethodsInvalidThenException() { |
|
|
|
|
public void issuerWhenOAuth2TlsClientAuthMethodThenSuccess() throws Exception { |
|
|
|
|
this.response.put("token_endpoint_auth_methods_supported", Arrays.asList("tls_client_auth")); |
|
|
|
|
// @formatter:off
|
|
|
|
|
assertThatIllegalArgumentException() |
|
|
|
|
.isThrownBy(() -> registrationOAuth2("", null)) |
|
|
|
|
.withMessageContaining("Only ClientAuthenticationMethod.CLIENT_SECRET_BASIC, ClientAuthenticationMethod.CLIENT_SECRET_POST and " |
|
|
|
|
+ "ClientAuthenticationMethod.NONE are supported. The issuer \"" + this.issuer |
|
|
|
|
+ "\" returned a configuration of [tls_client_auth]"); |
|
|
|
|
// @formatter:on
|
|
|
|
|
ClientRegistration registration = registrationOAuth2("", null).build(); |
|
|
|
|
// The client_secret_basic auth method is still the default
|
|
|
|
|
assertThat(registration.getClientAuthenticationMethod()) |
|
|
|
|
.isEqualTo(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|