Class DefaultApi20

java.lang.Object
com.github.scribejava.core.builder.api.DefaultApi20

public abstract class DefaultApi20 extends Object
Default implementation of the OAuth protocol, version 2.0 This class is meant to be extended by concrete implementations of the API, providing the endpoints and endpoint-http-verbs. If your API adheres to the 2.0 protocol correctly, you just need to extend this class and define the getters for your endpoints. If your API does something a bit different, you can override the different extractors or services, in order to fine-tune the process. Please read the javadocs of the interfaces to get an idea of what to do.
  • Constructor Details

    • DefaultApi20

      public DefaultApi20()
  • Method Details

    • getAccessTokenExtractor

      public TokenExtractor<OAuth2AccessToken> getAccessTokenExtractor()
      Returns the access token extractor.
      Returns:
      access token extractor
    • getAccessTokenVerb

      public Verb getAccessTokenVerb()
      Returns the verb for the access token endpoint (defaults to POST)
      Returns:
      access token endpoint verb
    • getAccessTokenEndpoint

      public abstract String getAccessTokenEndpoint()
      Returns the URL that receives the access token requests.
      Returns:
      access token URL
    • getRefreshTokenEndpoint

      public String getRefreshTokenEndpoint()
    • getRevokeTokenEndpoint

      public String getRevokeTokenEndpoint()
      As stated in RFC 7009 OAuth 2.0 Token Revocation
      Returns:
      endpoint, which allows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed.
      See Also:
    • getAuthorizationBaseUrl

      protected abstract String getAuthorizationBaseUrl()
    • getAuthorizationUrl

      public String getAuthorizationUrl(String responseType, String apiKey, String callback, String scope, String state, Map<String,String> additionalParams)
      Returns the URL where you should redirect your users to authenticate your application.
      Parameters:
      responseType - responseType
      apiKey - apiKey
      additionalParams - any additional GET params to add to the URL
      callback - callback
      state - state
      scope - scope
      Returns:
      the URL where you should redirect your users
    • createService

      public OAuth20Service createService(String apiKey, String apiSecret, String callback, String defaultScope, String responseType, OutputStream debugStream, String userAgent, HttpClientConfig httpClientConfig, HttpClient httpClient)
    • getBearerSignature

      public BearerSignature getBearerSignature()
    • getClientAuthentication

      public ClientAuthentication getClientAuthentication()
    • getDeviceAuthorizationEndpoint

      public String getDeviceAuthorizationEndpoint()
      RFC 8628 OAuth 2.0 Device Authorization Grant
      Returns:
      the device authorization endpoint
      See Also:
    • getDeviceAuthorizationExtractor

      public DeviceAuthorizationJsonExtractor getDeviceAuthorizationExtractor()