diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/authentication/jwt/DefaultProviderJwtDecoderRegistry.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/authentication/jwt/DefaultProviderJwtDecoderRegistry.java
deleted file mode 100644
index c180ef874b..0000000000
--- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/authentication/jwt/DefaultProviderJwtDecoderRegistry.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012-2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.security.oauth2.client.authentication.jwt;
-
-import org.springframework.security.jwt.JwtDecoder;
-import org.springframework.security.oauth2.core.provider.ProviderMetadata;
-import org.springframework.util.Assert;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-
-/**
- * The default implementation of a {@link ProviderJwtDecoderRegistry} that associates
- * a {@link JwtDecoder} to a {@link ProviderMetadata}. The ProviderMetadata
- * is matched against the providerIdentifier
parameter passed to {@link #getJwtDecoder(String)}.
- *
- * @author Joe Grandja
- * @since 5.0
- */
-public class DefaultProviderJwtDecoderRegistry implements ProviderJwtDecoderRegistry {
- private final Map jwtDecoders;
-
- public DefaultProviderJwtDecoderRegistry(Map jwtDecoders) {
- Assert.notNull(jwtDecoders, "jwtDecoders cannot be null");
- this.jwtDecoders = Collections.unmodifiableMap(new HashMap<>(jwtDecoders));
- }
-
- @Override
- public JwtDecoder getJwtDecoder(String providerIdentifier) {
- Assert.hasText(providerIdentifier, "providerIdentifier cannot be empty");
- Optional providerMetadataKey = this.jwtDecoders.keySet().stream().filter(providerMetadata ->
- providerIdentifier.equals(providerMetadata.getIssuer().toString()) ||
- providerIdentifier.equals(providerMetadata.getAuthorizationEndpoint().toString()) ||
- providerIdentifier.equals(providerMetadata.getTokenEndpoint().toString()) ||
- providerIdentifier.equals(providerMetadata.getUserInfoEndpoint().toString()) ||
- providerIdentifier.equals(providerMetadata.getJwkSetUri().toString())
- ).findFirst();
- return (providerMetadataKey.isPresent() ? this.jwtDecoders.get(providerMetadataKey.get()) : null);
- }
-}
diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/authentication/jwt/ProviderJwtDecoderRegistry.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/authentication/jwt/ProviderJwtDecoderRegistry.java
deleted file mode 100644
index f0984bb226..0000000000
--- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/authentication/jwt/ProviderJwtDecoderRegistry.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2012-2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.security.oauth2.client.authentication.jwt;
-
-import org.springframework.security.jwt.JwtDecoder;
-
-/**
- * A registry for {@link JwtDecoder}'s that are associated to an OAuth 2.0 Provider.
- *
- * @author Joe Grandja
- * @since 5.0
- */
-public interface ProviderJwtDecoderRegistry {
-
- JwtDecoder getJwtDecoder(String providerIdentifier);
-
-}
diff --git a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/provider/DefaultProviderMetadata.java b/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/provider/DefaultProviderMetadata.java
deleted file mode 100644
index 334e25a48e..0000000000
--- a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/provider/DefaultProviderMetadata.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2012-2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.security.oauth2.core.provider;
-
-import java.net.URL;
-
-/**
- * Default implementation of {@link ProviderMetadata}.
- *
- * @author Joe Grandja
- * @since 5.0
- */
-public class DefaultProviderMetadata implements ProviderMetadata {
- private URL issuer;
- private URL authorizationEndpoint;
- private URL tokenEndpoint;
- private URL userInfoEndpoint;
- private URL jwkSetUri;
-
- public DefaultProviderMetadata() {
- }
-
- @Override
- public URL getIssuer() {
- return issuer;
- }
-
- public void setIssuer(URL issuer) {
- this.issuer = issuer;
- }
-
- @Override
- public URL getAuthorizationEndpoint() {
- return authorizationEndpoint;
- }
-
- public void setAuthorizationEndpoint(URL authorizationEndpoint) {
- this.authorizationEndpoint = authorizationEndpoint;
- }
-
- @Override
- public URL getTokenEndpoint() {
- return tokenEndpoint;
- }
-
- public void setTokenEndpoint(URL tokenEndpoint) {
- this.tokenEndpoint = tokenEndpoint;
- }
-
- @Override
- public URL getUserInfoEndpoint() {
- return userInfoEndpoint;
- }
-
- public void setUserInfoEndpoint(URL userInfoEndpoint) {
- this.userInfoEndpoint = userInfoEndpoint;
- }
-
- @Override
- public URL getJwkSetUri() {
- return jwkSetUri;
- }
-
- public void setJwkSetUri(URL jwkSetUri) {
- this.jwkSetUri = jwkSetUri;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null || this.getClass() != obj.getClass()) {
- return false;
- }
-
- DefaultProviderMetadata that = (DefaultProviderMetadata) obj;
-
- if (!this.getIssuer().equals(that.getIssuer())) {
- return false;
- }
- if (!this.getAuthorizationEndpoint().equals(that.getAuthorizationEndpoint())) {
- return false;
- }
- if (!this.getTokenEndpoint().equals(that.getTokenEndpoint())) {
- return false;
- }
- return this.getUserInfoEndpoint().equals(that.getUserInfoEndpoint());
- }
-
- @Override
- public int hashCode() {
- int result = this.getIssuer().hashCode();
- result = 31 * result + this.getAuthorizationEndpoint().hashCode();
- result = 31 * result + this.getTokenEndpoint().hashCode();
- result = 31 * result + this.getUserInfoEndpoint().hashCode();
- return result;
- }
-}
diff --git a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/provider/ProviderMetadata.java b/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/provider/ProviderMetadata.java
deleted file mode 100644
index 1856d5929d..0000000000
--- a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/provider/ProviderMetadata.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2012-2017 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.security.oauth2.core.provider;
-
-import java.net.URL;
-
-/**
- * Metadata describing the configuration information for an OAuth 2.0 Provider.
- *
- * @author Joe Grandja
- * @since 5.0
- */
-public interface ProviderMetadata {
-
- URL getIssuer();
-
- URL getAuthorizationEndpoint();
-
- URL getTokenEndpoint();
-
- URL getUserInfoEndpoint();
-
- URL getJwkSetUri();
-
-}