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 interface
AuthorizationServiceConfiguration.RetrieveConfigurationCallback
Callback interface for configuration retrieval.
-
Field Summary
Fields Modifier and Type Field Description Uri
authorizationEndpoint
The authorization service’s endpoint.AuthorizationServiceDiscovery
discoveryDoc
The discovery document describing the service, if it is an OpenID Connect provider.Uri
endSessionEndpoint
The end session service’s endpoint;static String
OPENID_CONFIGURATION_RESOURCE
The standard resource under.well-known
at which an OpenID Connect discovery document can be found under an issuer’s base URI.Uri
registrationEndpoint
The authorization service’s client registration endpoint.Uri
tokenEndpoint
The authorization service’s token exchange and refresh endpoint.static String
WELL_KNOWN_PATH
The 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 void
fetchFromIssuer(Uri openIdConnectIssuerUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback)
Fetch an AuthorizationServiceConfiguration from an OpenID Connect issuer URI.static void
fetchFromIssuer(Uri openIdConnectIssuerUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback, ConnectionBuilder connectionBuilder)
Fetch an AuthorizationServiceConfiguration from an OpenID Connect issuer URI, using thedefault connection builder
.static void
fetchFromUrl(Uri openIdConnectDiscoveryUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback)
Fetch a AuthorizationServiceConfiguration from an OpenID Connect discovery URI, using thedefault connection builder
.static void
fetchFromUrl(Uri openIdConnectDiscoveryUri, AuthorizationServiceConfiguration.RetrieveConfigurationCallback callback, ConnectionBuilder connectionBuilder)
Fetch a AuthorizationServiceConfiguration from an OpenID Connect discovery URI.static AuthorizationServiceConfiguration
fromJson(String jsonStr)
Reads an Authorization service configuration from a JSON representation produced by thetoJson()
method or some other equivalent producer.static AuthorizationServiceConfiguration
fromJson(JSONObject json)
Reads an Authorization service configuration from a JSON representation produced by thetoJson()
method or some other equivalent producer.JSONObject
toJson()
Converts the authorization service configuration to JSON for storage or transmission.String
toJsonString()
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-known
at 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”
-
-