Class OAuthParameters
- java.lang.Object
-
- org.openstreetmap.josm.data.oauth.OAuthParameters
-
public final class OAuthParameters extends java.lang.Object
This class manages an immutable set of OAuth parameters.- Since:
- 2747 (static factory class since 18991)
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringOSM_API_DEFAULTprivate static java.lang.StringOSM_API_DEVprivate static java.lang.StringOSM_API_MASTERprivate static java.util.Map<java.lang.String,jakarta.json.JsonObject>RFC8414_RESPONSES
-
Constructor Summary
Constructors Modifier Constructor Description privateOAuthParameters()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static IOAuthParameterscreateDefault()Replies a set of default parameters for a consumer accessing the standard OSM server atIUrls.getDefaultOsmApiUrl().static IOAuthParameterscreateDefault(java.lang.String apiUrl, OAuthVersion oAuthVersion)Replies a set of default parameters for a consumer accessing an OSM server at the given API url.static IOAuthParameterscreateFromApiUrl(java.lang.String apiUrl, OAuthVersion oAuthVersion)Replies a set of parameters as defined in the preferences.private static IOAuthParameterscreateFromPreferences(java.lang.String... keys)Get the OAuth 2.0 parameters the user entered in the advanced OAuth settings and saved withIOAuthParameters.rememberPreferences().private static OAuth20ParametersgetDefaultOAuth20Parameters(java.lang.String apiUrl)Get the default OAuth 2.0 parametersprivate static jakarta.json.JsonObjectgetRFC8414Parameters(java.lang.String apiUrl)private static OAuth20ParametersparseAuthorizationServerMetadataResponse(java.lang.String clientId, java.lang.String clientSecret, java.lang.String apiUrl, java.lang.String redirectUri, jakarta.json.JsonObject serverMetadata)Parse the response from RFC 8414 (OAuth 2.0 Authorization Server Metadata)
-
-
-
Field Detail
-
RFC8414_RESPONSES
private static final java.util.Map<java.lang.String,jakarta.json.JsonObject> RFC8414_RESPONSES
-
OSM_API_DEFAULT
private static final java.lang.String OSM_API_DEFAULT
- See Also:
- Constant Field Values
-
OSM_API_DEV
private static final java.lang.String OSM_API_DEV
- See Also:
- Constant Field Values
-
OSM_API_MASTER
private static final java.lang.String OSM_API_MASTER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
OAuthParameters
private OAuthParameters()
-
-
Method Detail
-
createDefault
public static IOAuthParameters createDefault()
Replies a set of default parameters for a consumer accessing the standard OSM server atIUrls.getDefaultOsmApiUrl().Note that this may make network requests for RFC 8414 compliant endpoints.
- Returns:
- a set of default parameters
-
createDefault
public static IOAuthParameters createDefault(java.lang.String apiUrl, OAuthVersion oAuthVersion)
Replies a set of default parameters for a consumer accessing an OSM server at the given API url. URL parameters are only set if the URL equalsIUrls.getDefaultOsmApiUrl()or references the domain "dev.openstreetmap.org", otherwise they may benull.Note that this may make network requests for RFC 8414 compliant endpoints.
- Parameters:
apiUrl- The API URL for which the OAuth default parameters are created. If null or empty, the default OSM API url is used.oAuthVersion- The OAuth version to create default parameters for- Returns:
- a set of default parameters for the given
apiUrl - Since:
- 18650
-
createFromPreferences
private static IOAuthParameters createFromPreferences(java.lang.String... keys)
Get the OAuth 2.0 parameters the user entered in the advanced OAuth settings and saved withIOAuthParameters.rememberPreferences(). Until a token exists, this is the only place a client id for a server not increateDefault(String, OAuthVersion)can come from.OAuth20Parameters.rememberPreferences()keys by the API URL as given; callers may pass either the URL or its host, so both are tried.- Parameters:
keys- The preference key suffixes to try, in order- Returns:
- The remembered parameters, or
nullif none are saved or they cannot be parsed - Since:
- 19627
-
getRFC8414Parameters
private static jakarta.json.JsonObject getRFC8414Parameters(java.lang.String apiUrl)
-
getDefaultOAuth20Parameters
private static OAuth20Parameters getDefaultOAuth20Parameters(java.lang.String apiUrl)
Get the default OAuth 2.0 parameters- Parameters:
apiUrl- The API url- Returns:
- The default parameters
-
parseAuthorizationServerMetadataResponse
private static OAuth20Parameters parseAuthorizationServerMetadataResponse(java.lang.String clientId, java.lang.String clientSecret, java.lang.String apiUrl, java.lang.String redirectUri, jakarta.json.JsonObject serverMetadata) throws OAuthException
Parse the response from RFC 8414 (OAuth 2.0 Authorization Server Metadata)- Returns:
- The parameters for the server metadata
- Throws:
OAuthException
-
createFromApiUrl
public static IOAuthParameters createFromApiUrl(java.lang.String apiUrl, OAuthVersion oAuthVersion)
Replies a set of parameters as defined in the preferences.- Parameters:
oAuthVersion- The OAuth version to use.apiUrl- the API URL. Must not benull.- Returns:
- the parameters
- Since:
- 18650
-
-