OpenID provider configuration request

OpenID Connect providers publish a JSON document listing their endpoints, supported token encryption algorithms and other useful information for developers to configure their clients (relying parties).

This OpenID provider metadata is made available at a well-known URL which can be derived from the URL identifying the token issuing authority.

For example, if the OpenID provider (issuer) URL is

https://demo.c2id.com

then its metadata will be made available at

https://demo.c2id.com/.well-known/openid-configuration

Example request to obtain an OpenID provider's metadata:

import com.nimbusds.oauth2.sdk.id.*;
import com.nimbusds.openid.connect.sdk.op.*;

// The OpenID provider issuer URL
Issuer issuer = new Issuer("https://demo.c2id.com");

// Will resolve the OpenID provider metadata automatically
OIDCProviderMetadata opMetadata = OIDCProviderMetadata.resolve(issuer);

// Print the metadata
System.out.println(opMetadata.toJSONObject());

With HTTP connect and read timeouts:

int httpConnectTimeout = 1000; // milliseconds
int httpReadTimeout = 1000; // milliseconds
OIDCProviderMetadata opMetadata = OIDCProviderMetadata.resolve(
    issuer,
    httpConnectTimeout,
    httpReadTimeout);