Package net.openid.appauth
Class AuthorizationServiceConfiguration
- java.lang.Object
-
- net.openid.appauth.AuthorizationServiceConfiguration
-
public class AuthorizationServiceConfiguration extends Object
Configuration details required to interact with an authorization service.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAuthorizationServiceConfiguration.RetrieveConfigurationCallbackCallback interface for configuration retrieval.
-
Field Summary
Fields Modifier and Type Field Description UriauthorizationEndpointThe authorization service’s endpoint.AuthorizationServiceDiscoverydiscoveryDocThe discovery document describing the service, if it is an OpenID Connect provider.UriendSessionEndpointThe end session service’s endpoint;static StringOPENID_CONFIGURATION_RESOURCEThe standard resource under.well-knownat which an OpenID Connect discovery document can be found under an issuer’s base URI.UriregistrationEndpointThe authorization service’s client registration endpoint.UritokenEndpointThe authorization service’s token exchange and refresh endpoint.static StringWELL_KNOWN_PATHThe standard base path for well-known resources on domains.
-
Constructor Summary
Constructors Constructor Description AuthorizationServiceConfiguration(Uri authorizationEndpoint, Uri tokenEndpoint)Creates a service configuration for a basic OAuth2 provider.AuthorizationServiceConfiguration(Uri authorizationEndpoint, Uri tokenEndpoint, Uri registrationEndpoint)Creates a service configuration for a basic OAuth2 provider.AuthorizationServiceConfiguration(Uri authorizationEndpoint, Uri tokenEndpoint, Uri registrationEndpoint, Uri endSessionEndpoint)Creates a service configuration for a basic OAuth2 provider.AuthorizationServiceConfiguration(AuthorizationServiceDiscovery discoveryDoc)Creates an service configuration for an OpenID Connect provider, based on itsdiscovery document.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidfetchFromIssuer(Uri openIdConnectIssuerUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback)Fetch an AuthorizationServiceConfiguration from an OpenID Connect issuer URI.static voidfetchFromIssuer(Uri openIdConnectIssuerUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback, ConnectionBuilder connectionBuilder)Fetch an AuthorizationServiceConfiguration from an OpenID Connect issuer URI, using thedefault connection builder.static voidfetchFromUrl(Uri openIdConnectDiscoveryUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback)Fetch a AuthorizationServiceConfiguration from an OpenID Connect discovery URI, using thedefault connection builder.static voidfetchFromUrl(Uri openIdConnectDiscoveryUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback, ConnectionBuilder connectionBuilder)Fetch a AuthorizationServiceConfiguration from an OpenID Connect discovery URI.static AuthorizationServiceConfigurationfromJson(String jsonStr)Reads an Authorization service configuration from a JSON representation produced by thetoJson()method or some other equivalent producer.static AuthorizationServiceConfigurationfromJson(JSONObject json)Reads an Authorization service configuration from a JSON representation produced by thetoJson()method or some other equivalent producer.JSONObjecttoJson()Converts the authorization service configuration to JSON for storage or transmission.StringtoJsonString()Converts the authorization service configuration to a JSON string for storage or transmission.
-
-
-
Field Detail
-
WELL_KNOWN_PATH
public static final String WELL_KNOWN_PATH
The standard base path for well-known resources on domains.- See Also:
“Defining Well-Known Uniform Resource Identifiers (RFC 5785) https://tools.ietf.org/html/rfc5785”, Constant Field Values
-
OPENID_CONFIGURATION_RESOURCE
public static final String OPENID_CONFIGURATION_RESOURCE
The standard resource under.well-knownat which an OpenID Connect discovery document can be found under an issuer’s base URI.- See Also:
“OpenID Connect discovery 1.0 https://openid.net/specs/openid-connect-discovery-1_0.html”, Constant Field Values
-
authorizationEndpoint
@NonNull public final Uri authorizationEndpoint
The authorization service’s endpoint.
-
tokenEndpoint
@NonNull public final Uri tokenEndpoint
The authorization service’s token exchange and refresh endpoint.
-
endSessionEndpoint
@Nullable public final Uri endSessionEndpoint
The end session service’s endpoint;
-
registrationEndpoint
@Nullable public final Uri registrationEndpoint
The authorization service’s client registration endpoint.
-
discoveryDoc
@Nullable public final AuthorizationServiceDiscovery discoveryDoc
The discovery document describing the service, if it is an OpenID Connect provider.
-
-
Constructor Detail
-
AuthorizationServiceConfiguration
public AuthorizationServiceConfiguration(@NonNull Uri authorizationEndpoint, @NonNull Uri tokenEndpoint)
Creates a service configuration for a basic OAuth2 provider.- Parameters:
authorizationEndpoint- The authorization endpoint URI for the service.tokenEndpoint- The token endpoint URI for the service.
-
AuthorizationServiceConfiguration
public AuthorizationServiceConfiguration(@NonNull Uri authorizationEndpoint, @NonNull Uri tokenEndpoint, @Nullable Uri registrationEndpoint)
Creates a service configuration for a basic OAuth2 provider.- Parameters:
authorizationEndpoint- The authorization endpoint URI for the service.tokenEndpoint- The token endpoint URI for the service.registrationEndpoint- The optional client registration endpoint URI
-
AuthorizationServiceConfiguration
public AuthorizationServiceConfiguration(@NonNull Uri authorizationEndpoint, @NonNull Uri tokenEndpoint, @Nullable Uri registrationEndpoint, @Nullable Uri endSessionEndpoint)
Creates a service configuration for a basic OAuth2 provider.- Parameters:
authorizationEndpoint- The authorization endpoint URI for the service.tokenEndpoint- The token endpoint URI for the service.registrationEndpoint- The optional client registration endpoint URIendSessionEndpoint- The optional end session endpoint URI for the service.
-
AuthorizationServiceConfiguration
public AuthorizationServiceConfiguration(@NonNull AuthorizationServiceDiscovery discoveryDoc)
Creates an service configuration for an OpenID Connect provider, based on itsdiscovery document.- Parameters:
discoveryDoc- The OpenID Connect discovery document which describes this service.
-
-
Method Detail
-
toJson
@NonNull public JSONObject toJson()
Converts the authorization service configuration to JSON for storage or transmission.
-
toJsonString
public String toJsonString()
Converts the authorization service configuration to a JSON string for storage or transmission.
-
fromJson
@NonNull public static AuthorizationServiceConfiguration fromJson(@NonNull JSONObject json) throws JSONException
Reads an Authorization service configuration from a JSON representation produced by thetoJson()method or some other equivalent producer.- Throws:
JSONException- if the provided JSON does not match the expected structure.
-
fromJson
public static AuthorizationServiceConfiguration fromJson(@NonNull String jsonStr) throws JSONException
Reads an Authorization service configuration from a JSON representation produced by thetoJson()method or some other equivalent producer.- Throws:
JSONException- if the provided JSON does not match the expected structure.
-
fetchFromIssuer
public static void fetchFromIssuer(@NonNull Uri openIdConnectIssuerUri, @NonNull AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback)
Fetch an AuthorizationServiceConfiguration from an OpenID Connect issuer URI.This method is equivalent to
fetchFromUrl(Uri, RetrieveConfigurationCallback), but automatically appends the OpenID connect well-known configuration path to the URI.- Parameters:
openIdConnectIssuerUri- The issuer URI, e.g. “https://accounts.google.com”callback- The callback to invoke upon completion.- See Also:
“OpenID Connect discovery 1.0 https://openid.net/specs/openid-connect-discovery-1_0.html”
-
fetchFromIssuer
public static void fetchFromIssuer(@NonNull Uri openIdConnectIssuerUri, @NonNull AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback, @NonNull ConnectionBuilder connectionBuilder)
Fetch an AuthorizationServiceConfiguration from an OpenID Connect issuer URI, using thedefault connection builder.This method is equivalent to
fetchFromUrl(Uri, RetrieveConfigurationCallback, ConnectionBuilder), but automatically appends the OpenID connect well-known configuration path to the URI.- Parameters:
openIdConnectIssuerUri- The issuer URI, e.g. “https://accounts.google.com”connectionBuilder- The connection builder that is used to establish a connection to the resource server.callback- The callback to invoke upon completion.- See Also:
“OpenID Connect discovery 1.0 https://openid.net/specs/openid-connect-discovery-1_0.html”
-
fetchFromUrl
public static void fetchFromUrl(@NonNull Uri openIdConnectDiscoveryUri, @NonNull AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback)
Fetch a AuthorizationServiceConfiguration from an OpenID Connect discovery URI, using thedefault connection builder.- Parameters:
openIdConnectDiscoveryUri- The OpenID Connect discovery URIcallback- A callback to invoke upon completion- See Also:
“OpenID Connect discovery 1.0 https://openid.net/specs/openid-connect-discovery-1_0.html”
-
fetchFromUrl
public static void fetchFromUrl(@NonNull Uri openIdConnectDiscoveryUri, @NonNull AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback, @NonNull ConnectionBuilder connectionBuilder)
Fetch a AuthorizationServiceConfiguration from an OpenID Connect discovery URI.- Parameters:
openIdConnectDiscoveryUri- The OpenID Connect discovery URIconnectionBuilder- The connection builder that is used to establish a connection to the resource server.callback- A callback to invoke upon completion- See Also:
“OpenID Connect discovery 1.0 https://openid.net/specs/openid-connect-discovery-1_0.html”
-
-