diff --git a/config/src/main/java/org/springframework/security/config/oauth2/client/oidc/OidcConfigurationProvider.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistrations.java similarity index 93% rename from config/src/main/java/org/springframework/security/config/oauth2/client/oidc/OidcConfigurationProvider.java rename to oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistrations.java index fdaaf91fa2..3f97322e15 100644 --- a/config/src/main/java/org/springframework/security/config/oauth2/client/oidc/OidcConfigurationProvider.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistrations.java @@ -14,32 +14,32 @@ * limitations under the License. */ -package org.springframework.security.config.oauth2.client.oidc; +package org.springframework.security.oauth2.client.registration; import java.net.URI; import java.util.Collections; import java.util.List; -import org.springframework.security.oauth2.client.registration.ClientRegistration; -import org.springframework.security.oauth2.core.AuthorizationGrantType; -import org.springframework.security.oauth2.core.ClientAuthenticationMethod; -import org.springframework.security.oauth2.core.oidc.IdTokenClaimNames; -import org.springframework.security.oauth2.core.oidc.OidcScopes; -import org.springframework.web.client.RestTemplate; - import com.nimbusds.oauth2.sdk.GrantType; import com.nimbusds.oauth2.sdk.ParseException; import com.nimbusds.oauth2.sdk.Scope; import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata; +import org.springframework.security.oauth2.core.AuthorizationGrantType; +import org.springframework.security.oauth2.core.ClientAuthenticationMethod; +import org.springframework.security.oauth2.core.oidc.IdTokenClaimNames; +import org.springframework.security.oauth2.core.oidc.OidcScopes; +import org.springframework.web.client.RestTemplate; + /** * Allows creating a {@link ClientRegistration.Builder} from an * OpenID Provider Configuration. * * @author Rob Winch + * @author Josh Cummings * @since 5.1 */ -public final class OidcConfigurationProvider { +public class ClientRegistrations { /** * Creates a {@link ClientRegistration.Builder} using the provided @@ -59,7 +59,7 @@ public final class OidcConfigurationProvider { * Example usage: *
*
- * ClientRegistration registration = OidcConfigurationProvider.issuer("https://example.com")
+ * ClientRegistration registration = ClientRegistrations.fromOidcIssuerLocation("https://example.com")
* .clientId("client-id")
* .clientSecret("client-secret")
* .build();
@@ -67,7 +67,7 @@ public final class OidcConfigurationProvider {
* @param issuer the Issuer
* @return a {@link ClientRegistration.Builder} that was initialized by the OpenID Provider Configuration.
*/
- public static ClientRegistration.Builder issuer(String issuer) {
+ public static ClientRegistration.Builder fromOidcIssuerLocation(String issuer) {
String openidConfiguration = getOpenidConfiguration(issuer);
OIDCProviderMetadata metadata = parse(openidConfiguration);
String metadataIssuer = metadata.getIssuer().getValue();
@@ -135,5 +135,6 @@ public final class OidcConfigurationProvider {
}
}
- private OidcConfigurationProvider() {}
+ private ClientRegistrations() {}
+
}
diff --git a/config/src/test/java/org/springframework/security/config/oauth2/client/oidc/OidcConfigurationProviderTests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/ClientRegistrationsTest.java
similarity index 95%
rename from config/src/test/java/org/springframework/security/config/oauth2/client/oidc/OidcConfigurationProviderTests.java
rename to oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/ClientRegistrationsTest.java
index 5b27c45134..eb2e29fb1f 100644
--- a/config/src/test/java/org/springframework/security/config/oauth2/client/oidc/OidcConfigurationProviderTests.java
+++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/registration/ClientRegistrationsTest.java
@@ -14,7 +14,10 @@
* limitations under the License.
*/
-package org.springframework.security.config.oauth2.client.oidc;
+package org.springframework.security.oauth2.client.registration;
+
+import java.util.Arrays;
+import java.util.Map;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -23,22 +26,20 @@ import okhttp3.mockwebserver.MockWebServer;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
-import org.springframework.security.oauth2.client.registration.ClientRegistration;
import org.springframework.security.oauth2.core.AuthorizationGrantType;
import org.springframework.security.oauth2.core.ClientAuthenticationMethod;
-import java.util.Arrays;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
/**
* @author Rob Winch
* @since 5.1
*/
-public class OidcConfigurationProviderTests {
+public class ClientRegistrationsTest {
/**
* Contains all optional parameters that are found in ClientRegistration
@@ -162,7 +163,6 @@ public class OidcConfigurationProviderTests {
* We currently only support authorization_code, so verify we have a meaningful error until we add support.
* @throws Exception
*/
- @Test
public void issuerWhenGrantTypesSupportedInvalidThenException() throws Exception {
this.response.put("grant_types_supported", Arrays.asList("implicit"));
@@ -204,7 +204,7 @@ public class OidcConfigurationProviderTests {
@Test
public void issuerWhenEmptyStringThenMeaningfulErrorMessage() {
- assertThatThrownBy(() -> OidcConfigurationProvider.issuer(""))
+ assertThatThrownBy(() -> ClientRegistrations.fromOidcIssuerLocation(""))
.hasMessageContaining("Unable to resolve the OpenID Configuration with the provided Issuer of \"\"");
}
@@ -216,7 +216,7 @@ public class OidcConfigurationProviderTests {
.setBody(body)
.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
this.server.enqueue(mockResponse);
- assertThatThrownBy(() -> OidcConfigurationProvider.issuer(this.issuer))
+ assertThatThrownBy(() -> ClientRegistrations.fromOidcIssuerLocation(this.issuer))
.hasMessageContaining("The Issuer \"https://example.com\" provided in the OpenID Configuration did not match the requested issuer \"" + this.issuer + "\"");
}
@@ -229,7 +229,7 @@ public class OidcConfigurationProviderTests {
.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
this.server.enqueue(mockResponse);
- return OidcConfigurationProvider.issuer(this.issuer)
+ return ClientRegistrations.fromOidcIssuerLocation(this.issuer)
.clientId("client-id")
.clientSecret("client-secret")
.build();