Class OauthTokenHandler

java.lang.Object
org.refcodes.web.OauthToken
org.refcodes.rest.OauthTokenHandler
All Implemented Interfaces:
org.refcodes.mixin.Disposable, org.refcodes.mixin.ValidAccessor

public class OauthTokenHandler extends org.refcodes.web.OauthToken
Self refreshing implementation of the OauthToken. In case a refresh token (as of OauthToken.getRefreshToken() and has been provided, then the access token (as of OauthToken.getAccessToken() is refreshed within the "expires in" time (as of OauthToken.getExpiresIn(). The refresh daemon terminates and this instance is disposed when the provided HttpRestClient's Closable.close() method is called or the dispose() method is invoked.
  • Constructor Details

    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, String aClientId, String aClientSecret, String aUserName, String aUserPassword) throws org.refcodes.web.HttpStatusException, IOException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, HttpRestClient aHttpRestClient, String aClientId, String aClientSecret, String aUserName, String aUserPassword) throws org.refcodes.web.HttpStatusException, MalformedURLException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      MalformedURLException - thrown in case of a malformed URL.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, HttpRestClient aHttpRestClient, String aClientId, String aClientSecret, String aUserName, String aUserPassword, String aGrantType) throws org.refcodes.web.HttpStatusException, MalformedURLException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      aGrantType - The GrantType to use.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      MalformedURLException - thrown in case of a malformed URL.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, HttpRestClient aHttpRestClient, String aClientId, String aClientSecret, String aUserName, String aUserPassword, org.refcodes.web.GrantType aGrantType) throws org.refcodes.web.HttpStatusException, MalformedURLException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      aGrantType - The GrantType to use.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      MalformedURLException - thrown in case of a malformed URL.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, String aClientId, String aClientSecret, String aUserName, String aUserPassword) throws org.refcodes.web.HttpStatusException, IOException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, String aClientId, String aClientSecret, String aUserName, String aUserPassword, String aGrantType) throws org.refcodes.web.HttpStatusException, IOException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      aGrantType - The GrantType to use.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, String aClientId, String aClientSecret, String aUserName, String aUserPassword, org.refcodes.web.GrantType aGrantType) throws org.refcodes.web.HttpStatusException, IOException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      aGrantType - The GrantType to use.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, HttpRestClient aHttpRestClient, String aClientId, String aClientSecret, String aUserName, String aUserPassword) throws org.refcodes.web.HttpStatusException, MalformedURLException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      MalformedURLException - thrown in case of a malformed URL.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, HttpRestClient aHttpRestClient, String aClientId, String aClientSecret, String aUserName, String aUserPassword, String aGrantType) throws org.refcodes.web.HttpStatusException, MalformedURLException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      aGrantType - The GrantType to use.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      MalformedURLException - thrown in case of a malformed URL.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, HttpRestClient aHttpRestClient, String aClientId, String aClientSecret, String aUserName, String aUserPassword, org.refcodes.web.GrantType aGrantType) throws org.refcodes.web.HttpStatusException, MalformedURLException
      Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aClientId - The client's TID for "password" grant type.
      aClientSecret - The client's secret for "password" grant type.
      aUserName - The user's name for "password" grant type.
      aUserPassword - The user's password for "password" grant type.
      aGrantType - The GrantType to use.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      MalformedURLException - thrown in case of a malformed URL.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, String aAccessToken, String aRefreshToken, String aTokenType, Integer aExpiresIn, String aScope) throws IOException
      Constructs an instance of the OauthTokenHandler with the given parameters. For the refresh token parameters, please refer to "https://www.oauth.com/oauth2-servers/access-tokens/refreshing-access-tokens".
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aAccessToken - The access token to be stored (as of OauthToken.getAccessToken()).
      aRefreshToken - The refresh token to be used (as of OauthToken.getRefreshToken()).
      aTokenType - The token type to be stored (as of OauthToken.getTokenType()).
      aExpiresIn - The "expires in" time to be stored (as of OauthToken.getExpiresIn()).
      aScope - The scope to be stored (as of OauthToken.getScope()).
      Throws:
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, String aAccessToken, String aRefreshToken, String aTokenType, Integer aExpiresIn, String aScope) throws IOException
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aAccessToken - The access token to be stored (as of OauthToken.getAccessToken()).
      aRefreshToken - The refresh token to be used (as of OauthToken.getRefreshToken()).
      aTokenType - The token type to be stored (as of OauthToken.getTokenType()).
      aExpiresIn - The "expires in" time to be stored (as of OauthToken.getExpiresIn()).
      aScope - The scope to be stored (as of OauthToken.getScope()).
      Throws:
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, org.refcodes.web.HttpBodyMap aOauthToken) throws IOException
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aOauthToken - The HttpBodyMap containing the OAuth token with the required information.
      Throws:
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, org.refcodes.web.OauthToken aOauthToken) throws IOException
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aOauthToken - The OauthToken containing the required information.
      Throws:
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, org.refcodes.web.OauthToken aOauthToken) throws IOException
      Constructs an instance of the OauthTokenHandler with the given parameters. For the refresh token parameters, please refer to "https://www.oauth.com/oauth2-servers/access-tokens/refreshing-access-tokens".
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aOauthToken - The OauthToken containing the required information.
      Throws:
      IOException - in case connecting the the token endpoint failed due to I/O problems or malformed ULR issues.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, HttpRestClient aHttpRestClient, String aAccessToken, String aRefreshToken, String aTokenType, Integer aExpiresIn, String aScope)
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aAccessToken - The access token to be stored (as of OauthToken.getAccessToken()).
      aRefreshToken - The refresh token to be used (as of OauthToken.getRefreshToken()).
      aTokenType - The token type to be stored (as of OauthToken.getTokenType()).
      aExpiresIn - The "expires in" time to be stored (as of OauthToken.getExpiresIn()).
      aScope - The scope to be stored (as of OauthToken.getScope()).
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, HttpRestClient aHttpRestClient, org.refcodes.web.HttpBodyMap aOauthToken)
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aOauthToken - The HttpBodyMap containing the OAuth token with the required information.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, HttpRestClient aHttpRestClient, org.refcodes.web.OauthToken aOauthToken)
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The URL to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aOauthToken - The OauthToken containing the required information.
    • OauthTokenHandler

      public OauthTokenHandler(org.refcodes.web.Url aUrl, HttpRestClient aHttpRestClient, org.refcodes.web.OauthToken aOauthToken)
      Constructs an instance of the OauthTokenHandler with the given parameters.
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aOauthToken - The OauthToken containing the required information.
    • OauthTokenHandler

      public OauthTokenHandler(String aUrl, HttpRestClient aHttpRestClient, String aAccessToken, String aRefreshToken, String aTokenType, Integer aExpiresIn, String aScope)
      Constructs an instance of the OauthTokenHandler with the given parameters. For the refresh token parameters, please refer to "https://www.oauth.com/oauth2-servers/access-tokens/refreshing-access-tokens".
      Parameters:
      aUrl - The Url to be used when refreshing the access token.
      aHttpRestClient - The HttpRestClient to use when refreshing the token.
      aAccessToken - The access token to be stored (as of OauthToken.getAccessToken()).
      aRefreshToken - The refresh token to be used (as of OauthToken.getRefreshToken()).
      aTokenType - The token type to be stored (as of OauthToken.getTokenType()).
      aExpiresIn - The "expires in" time to be stored (as of OauthToken.getExpiresIn()).
      aScope - The scope to be stored (as of OauthToken.getScope()).
  • Method Details

    • dispose

      public void dispose()
      Specified by:
      dispose in interface org.refcodes.mixin.Disposable
      Overrides:
      dispose in class org.refcodes.web.OauthToken