Class DefaultOAuth1Provider
java.lang.Object
org.glassfish.jersey.server.oauth1.DefaultOAuth1Provider
- All Implemented Interfaces:
OAuth1Provider
Default in-memory implementation of OAuth1Provider. Stores consumers and tokens
in static hash maps. Provides some additional helper methods for consumer
and token management (registering new consumers, retrieving a list of all
registered consumers per owner, listing the authorized tokens per principal,
revoking tokens, etc.)
- Author:
- Martin Matula, Miroslav Fuksa
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSimple read-only implementation ofOAuth1Consumer.classSimple immutable implementation ofOAuth1Token. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAccessToken(String token, String secret, String consumerKey, String callbackUrl, Principal principal, Set<String> roles, MultivaluedMap<String, String> attributes) authorizeToken(DefaultOAuth1Provider.Token token, Principal userPrincipal, Set<String> roles) Authorizes a request token for given principal and roles and returns verifier.getAccessToken(String token) Returns the access token by the consumer key and token value.getAccessTokens(String principalName) Returns a list of access tokens authorized with the supplied principal name.getConsumer(String consumerKey) Gets consumer corresponding to a given consumer key.getConsumers(String owner) Returns a set of consumers registered by a given owner.getRequestToken(String token) Returns the request token by the consumer key and token value.newAccessToken(OAuth1Token requestToken, String verifier) Creates a new access token.Creates a new request token for a given consumerKey.protected StringGenerates a new non-guessable random string (used for token/customer strings, secrets and verifier.registerConsumer(String owner, MultivaluedMap<String, String> attributes) Register a new consumer.registerConsumer(String owner, String key, String secret, MultivaluedMap<String, String> attributes) Register a new consumer configured with Consumer Key.voidrevokeAccessToken(String token, String principalName) Checks if the supplied token is authorized for a given principal name and if so, revokes the authorization.
-
Constructor Details
-
DefaultOAuth1Provider
public DefaultOAuth1Provider()
-
-
Method Details
-
getConsumer
Description copied from interface:OAuth1ProviderGets consumer corresponding to a given consumer key.- Specified by:
getConsumerin interfaceOAuth1Provider- Parameters:
consumerKey- consumer key- Returns:
- corresponding consumer secret or null if no consumer with the given key is known
-
registerConsumer
public DefaultOAuth1Provider.Consumer registerConsumer(String owner, MultivaluedMap<String, String> attributes) Register a new consumer.- Parameters:
owner- Identifier of the owner that registers the consumer (user ID or similar).attributes- Additional attributes (name-values pairs - to store additional information about the consumer, such as name, URI, description, etc.)- Returns:
DefaultOAuth1Provider.Consumerobject for the newly registered consumer.
-
registerConsumer
public DefaultOAuth1Provider.Consumer registerConsumer(String owner, String key, String secret, MultivaluedMap<String, String> attributes) Register a new consumer configured with Consumer Key.- Parameters:
owner- Identifier of the owner that registers the consumer (user ID or similar).key- Consumer key.secret- Consumer key secret.attributes- Additional attributes (name-values pairs - to store additional information about the consumer, such as name, URI, description, etc.)- Returns:
DefaultOAuth1Provider.Consumerobject for the newly registered consumer.
-
getConsumers
Returns a set of consumers registered by a given owner.- Parameters:
owner- Identifier of the owner that registered the consumers to be retrieved.- Returns:
- consumers registered by the owner.
-
getAccessTokens
Returns a list of access tokens authorized with the supplied principal name.- Parameters:
principalName- Principal name for which to retrieve the authorized tokens.- Returns:
- authorized access tokens.
-
authorizeToken
public String authorizeToken(DefaultOAuth1Provider.Token token, Principal userPrincipal, Set<String> roles) Authorizes a request token for given principal and roles and returns verifier.- Parameters:
token- Request token to authorize.userPrincipal- User principal to authorize the token for.roles- Set of roles to authorize the token for.- Returns:
- OAuth verifier value for exchanging this token for an access token.
-
revokeAccessToken
Checks if the supplied token is authorized for a given principal name and if so, revokes the authorization.- Parameters:
token- Access token to revoke the authorization for.principalName- Principal name the token is currently authorized for.
-
newUUIDString
Generates a new non-guessable random string (used for token/customer strings, secrets and verifier.- Returns:
- Random UUID string.
-
getRequestToken
Description copied from interface:OAuth1ProviderReturns the request token by the consumer key and token value.- Specified by:
getRequestTokenin interfaceOAuth1Provider- Parameters:
token- request token value- Returns:
- request token or null if no such token corresponding to a given consumer key is found
-
newRequestToken
public OAuth1Token newRequestToken(String consumerKey, String callbackUrl, Map<String, List<String>> attributes) Description copied from interface:OAuth1ProviderCreates a new request token for a given consumerKey.- Specified by:
newRequestTokenin interfaceOAuth1Provider- Parameters:
consumerKey- consumer key to create a request token forcallbackUrl- callback url for this request token requestattributes- additional service provider-specific parameters (this can be used to indicate what level of access is requested - i.e. readonly, or r/w, etc.)- Returns:
- new request token
-
newAccessToken
Description copied from interface:OAuth1ProviderCreates a new access token. This method must validate the passed arguments and return null if any of them is invalid.- Specified by:
newAccessTokenin interfaceOAuth1Provider- Parameters:
requestToken- authorized request tokenverifier- verifier passed to the callback after authorization- Returns:
- new access token or null if the arguments are invalid (e.g. there is no such request token as in the argument, or the verifier does not match)
-
addAccessToken
-
getAccessToken
Description copied from interface:OAuth1ProviderReturns the access token by the consumer key and token value.- Specified by:
getAccessTokenin interfaceOAuth1Provider- Parameters:
token- access token value- Returns:
- access token or null if no such found
-