Restlet Framework 2.2.1
Java Standard Edition

Package org.restlet.ext.oauth

Support for OAuth 2.0 HTTP authentication.

See:
          Description

Interface Summary
OAuthResourceDefs  
 

Class Summary
AccessTokenClientResource Client resource used to acquire an OAuth token.
AccessTokenServerResource Server resource used to acquire an OAuth token.
AuthorizationBaseServerResource Base Restlet resource class for Authorization service resource.
AuthorizationServerResource Restlet implementation class AuthorizationService.
AuthPageServerResource Helper class to the AuhorizationResource Handles Authorization requests.
ClientVerifier Verifier for OAuth 2.0 Token Endpoints.
FacebookAccessTokenClientResource Client resource used to acquire an Facebook OAuth token.
HttpOAuthHelper Implementation of OAuth2 Authentication.
HttpOAuthMacHelper Implementation of the client-side OAuth2 support.
OAuthParameters  
OAuthProxy A restlet filter for initiating a web server flow or comparable to OAuth 2.0 3-legged authorization.
OAuthServerResource Base class for common resources used by the OAuth server side.
ProtectedClientResource  
TokenAuthServerResource Token "Authenticate" Resource for internal use.
TokenVerifier Verifier for OAuth 2.0 Protected Resources.
 

Enum Summary
GrantType Supported mechanisms to grant tokens.
OAuthError Utility class for formating OAuth errors
ResponseType Defines the supported types of responses to a grant request.
 

Exception Summary
OAuthException Exception that represents OAuth 2.0 (RFC6749) Errors.
 

Package org.restlet.ext.oauth Description

Support for OAuth 2.0 HTTP authentication. This is intended to be used with primarily following use-cases in mind:

It is very simple to create an OAuth server with just a few lines of code. It is also possible to implement a custom back end for data storage and retrieval. The default implementation stores only to memory, so a JVM restart flushes all data.
{
  @code
  public Restlet createInboundRoot(){
    ...
    OAuthAuthorizer auth = new OAuthAuthorizer(
      "http://localhost:8080/OAuth2Provider/validate");
    auth.setNext(ProtectedResource.class);
    router.attach("/me", auth);
    ...
  }
}

Example 1. Creating a Protected Resource

{
  @code
  OAuthParameter params = new OAuthParameters("clientId", "clientSecret",
    oauthURL, "scope1 scope2");
    OAuthProxy proxy = new OauthProxy(params, getContext(), true);
    proxy.setNext(DummyResource.class);
    router.attach("/write", write);
     
    //A Slightly more advanced example that also sets some SSL client parameters
    Client client = new Client(Protocol.HTTPS);
    Context c = new Context();
    client.setContext(c);
    c.getParameters().add("truststorePath", "pathToKeyStoreFile");
    c.getParameters(0.add("truststorePassword", "password");
    OAuthParameter params = new OAuthParameters("clientId", "clientSecret",
    oauthURL, "scope1 scope2");
    OAuthProxy proxy = new OauthProxy(params, getContext(), true, client);
    proxy.setNext(DummyResource.class);
    router.attach("/write", write);   
}

Example 2. Creating a Proxies to access protected resources

Since:
Restlet 2.1
Author:
Kristoffer Gronowski, Martin Svensson
See Also:
OAuth, OAuth 2 draft 10, User Guide - OAuth extension

Restlet Framework 2.2.1
Java Standard Edition

Copyright © 2005-2014 Restlet.