Class AuthCodeGrantImpl.Builder

java.lang.Object
org.glassfish.jersey.client.oauth2.AuthCodeGrantImpl.Builder
All Implemented Interfaces:
OAuth2CodeGrantFlow.Builder
Enclosing class:
AuthCodeGrantImpl

static class AuthCodeGrantImpl.Builder extends Object implements OAuth2CodeGrantFlow.Builder
Builder implementation.
  • Field Details

    • accessTokenUri

      private String accessTokenUri
    • refreshTokenUri

      private String refreshTokenUri
    • authorizationUri

      private String authorizationUri
    • callbackUri

      private String callbackUri
    • clientIdentifier

      private ClientIdentifier clientIdentifier
    • client

      private javax.ws.rs.client.Client client
    • scope

      private String scope
    • authorizationProperties

      private Map<String,String> authorizationProperties
    • accessTokenProperties

      private Map<String,String> accessTokenProperties
    • refreshTokenProperties

      private Map<String,String> refreshTokenProperties
  • Constructor Details

    • Builder

      public Builder()
      Create a new builder.
    • Builder

      public Builder(ClientIdentifier clientIdentifier, String authorizationUri, String accessTokenUri)
      Create a new builder with defined URIs and client id.
    • Builder

      public Builder(ClientIdentifier clientIdentifier, String authorizationUri, String accessTokenUri, String callbackUri)
      Create a new builder with defined URIs and client id and callback uri.
  • Method Details

    • accessTokenUri

      public AuthCodeGrantImpl.Builder accessTokenUri(String accessTokenUri)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set the access token URI on which the access token can be requested. The URI points to the authorization server and is defined by the Service Provider.
      Specified by:
      accessTokenUri in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      accessTokenUri - Access token URI.
      Returns:
      Builder instance.
    • authorizationUri

      public AuthCodeGrantImpl.Builder authorizationUri(String authorizationUri)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set the URI to which the user should be redirected to authorize our application. The URI points to the authorization server and is defined by the Service Provider.
      Specified by:
      authorizationUri in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      authorizationUri - Authorization URI.
      Returns:
      Builder instance.
    • redirectUri

      public AuthCodeGrantImpl.Builder redirectUri(String redirectUri)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set the redirect URI to which the user (resource owner) should be redirected after he/she grants access to our application. In most cases, the URI is under control of this application and request done on this URI will be used to extract query parameter code and state that will be used in OAuth2CodeGrantFlow.finish(String, String) method.

      If URI is not defined by this method, the default value urn:ietf:wg:oauth:2.0:oob will be used in the Authorization Flow which should cause that code will be passed to application in other way than request redirection (for example shown to the user using html page).

      Specified by:
      redirectUri in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      redirectUri - URI that should receive authorization response from the Service Provider.
      Returns:
      Builder instance.
    • clientIdentifier

      public AuthCodeGrantImpl.Builder clientIdentifier(ClientIdentifier clientIdentifier)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set client identifier of the application that should be authorized.
      Specified by:
      clientIdentifier in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      clientIdentifier - Client identifier.
      Returns:
      Builder instance.
    • scope

      public AuthCodeGrantImpl.Builder scope(String scope)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set a scope to which the application will get authorization grant. Values of this parameter are defined by the Service Provider and defines usually subset of resource and operations available in the Service Provider.

      The parameter is optional but ServiceProvider might require it.

      Specified by:
      scope in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      scope - Scope string.
      Returns:
      Builder instance.
    • client

      public AuthCodeGrantImpl.Builder client(javax.ws.rs.client.Client client)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set the client that should be used internally by the OAuth1AuthorizationFlow to make requests to Authorization Server. If this method is not called, it is up to the implementation to create or get any private client instance to perform these requests. This method could be used mainly for performance reasons to avoid creation of new client instances and have control about created client instances used in the application.
      Specified by:
      client in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      client - Client instance.
      Returns:
      Builder instance.
    • refreshTokenUri

      public AuthCodeGrantImpl.Builder refreshTokenUri(String refreshTokenUri)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set the refresh token URI on which the access token can be refreshed using a refresh token. The URI points to the authorization server and is defined by the Service Provider. If the URI is not defined by this method it will be the same as URI defined in OAuth2CodeGrantFlow.Builder.accessTokenUri(String) (which is the default value defined by the OAuth2 spec). Some providers do not support refreshing access tokens at all.
      Specified by:
      refreshTokenUri in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      refreshTokenUri - Refresh token URI.
      Returns:
      Builder instance.
    • property

      public AuthCodeGrantImpl.Builder property(OAuth2CodeGrantFlow.Phase phase, String key, String value)
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Set property (parameter) that will be added to requests or URIs as a query parameters during the Authorization Flow. Default parameters used during the Authorization Flow can be also overridden by this method.
      Specified by:
      property in interface OAuth2CodeGrantFlow.Builder
      Parameters:
      phase - Phase of the flow in which the properties (parameters) should be used. For example by using a OAuth2CodeGrantFlow.Phase.ACCESS_TOKEN_REQUEST, the parameter will be added only to the http request for access token.
      key - Property key.
      value - Property value.
      Returns:
      Builder instance.
    • getAccessTokenUri

      String getAccessTokenUri()
    • getRefreshTokenUri

      String getRefreshTokenUri()
    • getAuthorizationUri

      String getAuthorizationUri()
    • getScope

      String getScope()
    • getCallbackUri

      String getCallbackUri()
    • getClientIdentifier

      ClientIdentifier getClientIdentifier()
    • getClient

      javax.ws.rs.client.Client getClient()
    • getAuthorizationProperties

      Map<String,String> getAuthorizationProperties()
    • getAccessTokenProperties

      Map<String,String> getAccessTokenProperties()
    • getRefreshTokenProperties

      Map<String,String> getRefreshTokenProperties()
    • build

      public AuthCodeGrantImpl build()
      Description copied from interface: OAuth2CodeGrantFlow.Builder
      Build the OAuth2CodeGrantFlow instance.
      Specified by:
      build in interface OAuth2CodeGrantFlow.Builder
      Returns:
      New instance of OAuth2CodeGrantFlow.