Class StsRequestHandler


  • final class StsRequestHandler
    extends java.lang.Object
    Implements the OAuth 2.0 token exchange based on https://tools.ietf.org/html/rfc8693.
    • Field Detail

      • TOKEN_EXCHANGE_GRANT_TYPE

        private static final java.lang.String TOKEN_EXCHANGE_GRANT_TYPE
        See Also:
        Constant Field Values
      • PARSE_ERROR_PREFIX

        private static final java.lang.String PARSE_ERROR_PREFIX
        See Also:
        Constant Field Values
      • tokenExchangeEndpoint

        private final java.lang.String tokenExchangeEndpoint
      • httpRequestFactory

        private final com.google.api.client.http.HttpRequestFactory httpRequestFactory
      • headers

        @Nullable
        private final com.google.api.client.http.HttpHeaders headers
      • internalOptions

        @Nullable
        private final java.lang.String internalOptions
    • Constructor Detail

      • StsRequestHandler

        private StsRequestHandler​(java.lang.String tokenExchangeEndpoint,
                                  StsTokenExchangeRequest request,
                                  com.google.api.client.http.HttpRequestFactory httpRequestFactory,
                                  @Nullable
                                  com.google.api.client.http.HttpHeaders headers,
                                  @Nullable
                                  java.lang.String internalOptions)
        Internal constructor.
        Parameters:
        tokenExchangeEndpoint - the token exchange endpoint
        request - the token exchange request
        headers - optional additional headers to pass along the request
        internalOptions - optional GCP specific STS options
    • Method Detail

      • exchangeToken

        public StsTokenExchangeResponse exchangeToken()
                                               throws java.io.IOException
        Exchanges the provided token for another type of token based on the RFC 8693 spec.
        Throws:
        java.io.IOException
      • buildTokenRequest

        private com.google.api.client.util.GenericData buildTokenRequest()
      • buildResponse

        private StsTokenExchangeResponse buildResponse​(com.google.api.client.util.GenericData responseData)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseJson

        private com.google.api.client.json.GenericJson parseJson​(java.lang.String json)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException