Interface ThreeLeggedFlow

  • All Known Implementing Classes:
    OAuthHmacThreeLeggedFlow

    @Beta
    public interface ThreeLeggedFlow
    Beta
    Interface for auth flows that require a user authorization step through a web browser to obtain an authorization code.

    Implementations are required to be PersistenceCapable for storage in JDO compliant datastores during user authorization step.

    Warning: starting with version 1.7, usage of this for OAuth 2.0 is deprecated. Instead use AuthorizationCodeFlow.

    Since:
    1.4
    Author:
    moshenko@google.com (Jacob Moshenko)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Credential complete​(String authorizationCode)
      After the user has authorized the request, the token or code obtained should be passed to this complete function to allow us to exchange the code with the authentication server for a Credential.
      String getAuthorizationUrl()
      After the object is created, the developer should use this method to interrogate it for the authorization URL to which the user should be redirected to obtain permission.
      Credential loadCredential​(javax.jdo.PersistenceManager pm)
      Convenience function that will load a credential based on the userId for which this flow was instantiated.
      void setHttpTransport​(com.google.api.client.http.HttpTransport transport)
      Set HttpTransport instance for this three legged flow.
      void setJsonFactory​(com.google.api.client.json.JsonFactory jsonFactory)
      Set JsonFactory instance for this three legged flow.
    • Method Detail

      • getAuthorizationUrl

        String getAuthorizationUrl()
        After the object is created, the developer should use this method to interrogate it for the authorization URL to which the user should be redirected to obtain permission.
        Returns:
        URL to which the user should be directed
      • setHttpTransport

        void setHttpTransport​(com.google.api.client.http.HttpTransport transport)
        Set HttpTransport instance for this three legged flow.
      • setJsonFactory

        void setJsonFactory​(com.google.api.client.json.JsonFactory jsonFactory)
        Set JsonFactory instance for this three legged flow.
      • loadCredential

        Credential loadCredential​(javax.jdo.PersistenceManager pm)
        Convenience function that will load a credential based on the userId for which this flow was instantiated.
        Parameters:
        pm - PersistenceManager instance which this flow should use to interact with the data store. The caller must remember to call PersistenceManager.close() after this method returns.
        Returns:
        Fully initialized Credential object or null if none exists.
      • complete

        Credential complete​(String authorizationCode)
                     throws IOException
        After the user has authorized the request, the token or code obtained should be passed to this complete function to allow us to exchange the code with the authentication server for a Credential.
        Parameters:
        authorizationCode - Code or token obtained after the user grants permission
        Returns:
        Credential object that is obtained from token server
        Throws:
        IOException