Class AuthorizationCodeInstalledApp


  • public class AuthorizationCodeInstalledApp
    extends java.lang.Object
    OAuth 2.0 authorization code flow for an installed Java application that persists end-user credentials.

    Implementation is thread-safe.

    Since:
    1.11
    • Constructor Detail

    • Method Detail

      • authorize

        public Credential authorize​(java.lang.String userId)
                             throws java.io.IOException
        Authorizes the installed application to access user's protected data.
        Parameters:
        userId - user ID or null if not using a persisted credential store
        Returns:
        credential
        Throws:
        java.io.IOException
      • onAuthorization

        protected void onAuthorization​(AuthorizationCodeRequestUrl authorizationUrl)
                                throws java.io.IOException
        Handles user authorization by redirecting to the OAuth 2.0 authorization server.

        Default implementation is to call browse(authorizationUrl.build()). Subclasses may override to provide optional parameters such as the recommended state parameter. Sample implementation:

          @Override
          protected void onAuthorization(AuthorizationCodeRequestUrl authorizationUrl) throws IOException {
            authorizationUrl.setState("xyz");
            super.onAuthorization(authorizationUrl);
          }
         
        Parameters:
        authorizationUrl - authorization URL
        Throws:
        java.io.IOException - I/O exception
      • browse

        public static void browse​(java.lang.String url)
        Open a browser at the given URL using Desktop if available, or alternatively output the URL to System.out for command-line applications.
        Parameters:
        url - URL to browse