oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtDecoders.java
public static JwtDecoder fromOidcIssuerLocation(String oidcIssuerLocation) {
		Map<String, Object> openidConfiguration = getOpenidConfiguration(oidcIssuerLocation);
		String metadataIssuer = "(unavailable)";
		if (openidConfiguration.containsKey("issuer")) {
			metadataIssuer = openidConfiguration.get("issuer").toString();
		}
		if (!oidcIssuerLocation.equals(metadataIssuer)) {
			throw new IllegalStateException("The Issuer \"" + metadataIssuer + "\" provided in the OpenID Configuration " +
					"did not match the requested issuer \"" + oidcIssuerLocation + "\"");
		}

		OAuth2TokenValidator<Jwt> jwtValidator =
				JwtValidators.createDefaultWithIssuer(oidcIssuerLocation);

		NimbusJwtDecoder jwtDecoder = withJwkSetUri(openidConfiguration.get("jwks_uri").toString()).build();
		jwtDecoder.setJwtValidator(jwtValidator);

		return jwtDecoder;
	}
public static JwtDecoder fromOidcIssuerLocation(String oidcIssuerLocation) {
		Map<String, Object> openidConfiguration = getOpenidConfiguration(oidcIssuerLocation);
		String metadataIssuer = "(unavailable)";
		if (openidConfiguration.containsKey("issuer")) {
			metadataIssuer = openidConfiguration.get("issuer").toString();
		}
		if (!oidcIssuerLocation.equals(metadataIssuer)) {
			throw new IllegalStateException("The Issuer \"" + metadataIssuer + "\" provided in the OpenID Configuration " +
					"did not match the requested issuer \"" + oidcIssuerLocation + "\"");
		}

		OAuth2TokenValidator<Jwt> jwtValidator =
				JwtValidators.createDefaultWithIssuer(oidcIssuerLocation);

		NimbusJwtDecoder jwtDecoder = withJwkSetUri(openidConfiguration.get("jwks_uri").toString()).build();
		jwtDecoder.setJwtValidator(jwtValidator);

		return jwtDecoder;
	}
public static JwtDecoder fromOidcIssuerLocation ( String oidcIssuerLocation ) { Map < String , Object > openidConfiguration = getOpenidConfiguration ( oidcIssuerLocation ) ; String metadataIssuer = "(unavailable)" ; if ( openidConfiguration . containsKey ( "issuer" ) ) { metadataIssuer = openidConfiguration . get ( "issuer" ) . toString ( ) ; } if ( ! oidcIssuerLocation . equals ( metadataIssuer ) ) { throw new IllegalStateException ( "The Issuer \"" + metadataIssuer + "\" provided in the OpenID Configuration " + "did not match the requested issuer \"" + oidcIssuerLocation + "\"" ) ; } OAuth2TokenValidator < Jwt > jwtValidator = JwtValidators . createDefaultWithIssuer ( oidcIssuerLocation ) ; NimbusJwtDecoder jwtDecoder = withJwkSetUri ( openidConfiguration . get ( "jwks_uri" ) . toString ( ) ) . build ( ) ; jwtDecoder . setJwtValidator ( jwtValidator ) ; return jwtDecoder ; }
Creates a {@link JwtDecoder} using the provided
<a href="https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier">Issuer</a> by making an
<a href="https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationRequest">OpenID Provider
Configuration Request</a> and using the values in the
<a href="https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse">OpenID
Provider Configuration Response</a> to initialize the {@link JwtDecoder}.

@param oidcIssuerLocation the <a href="https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier">Issuer</a>
@return a {@link JwtDecoder} that was initialized by the OpenID Provider Configuration.
Creates a { @link JwtDecoder } using the provided <a href = https : // openid . net / specs / openid - connect - core - 1_0 . html#IssuerIdentifier > Issuer< / a > by making an <a href = https : // openid . net / specs / openid - connect - discovery - 1_0 . html#ProviderConfigurationRequest > OpenID Provider Configuration Request< / a > and using the values in the <a href = https : // openid . net / specs / openid - connect - discovery - 1_0 . html#ProviderConfigurationResponse > OpenID Provider Configuration Response< / a > to initialize the { @link JwtDecoder } .