Implements the OAuth 2.0 token exchange based on RFC 8693.
This class handles the process of exchanging one type of token for another using the Security
Token Service (STS). It constructs and sends the token exchange request to the STS endpoint and
parses the response to create an StsTokenExchangeResponse object.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class StsRequestHandler (1.38.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.38.0 (latest)](/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.StsRequestHandler)\n- [1.37.1](/java/docs/reference/google-auth-library/1.37.1/com.google.auth.oauth2.StsRequestHandler)\n- [1.36.0](/java/docs/reference/google-auth-library/1.36.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.35.0](/java/docs/reference/google-auth-library/1.35.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.34.0](/java/docs/reference/google-auth-library/1.34.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.33.1](/java/docs/reference/google-auth-library/1.33.1/com.google.auth.oauth2.StsRequestHandler)\n- [1.32.1](/java/docs/reference/google-auth-library/1.32.1/com.google.auth.oauth2.StsRequestHandler)\n- [1.31.0](/java/docs/reference/google-auth-library/1.31.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.30.1](/java/docs/reference/google-auth-library/1.30.1/com.google.auth.oauth2.StsRequestHandler)\n- [1.29.1-SNAPSHOT](/java/docs/reference/google-auth-library/1.29.1-SNAPSHOT/com.google.auth.oauth2.StsRequestHandler)\n- [1.28.0](/java/docs/reference/google-auth-library/1.28.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.27.0](/java/docs/reference/google-auth-library/1.27.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.26.0](/java/docs/reference/google-auth-library/1.26.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.25.0](/java/docs/reference/google-auth-library/1.25.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.24.1](/java/docs/reference/google-auth-library/1.24.1/com.google.auth.oauth2.StsRequestHandler)\n- [1.20.0](/java/docs/reference/google-auth-library/1.20.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.19.0](/java/docs/reference/google-auth-library/1.19.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.18.0](/java/docs/reference/google-auth-library/1.18.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.7.0](/java/docs/reference/google-auth-library/1.7.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.6.1](/java/docs/reference/google-auth-library/1.6.1/com.google.auth.oauth2.StsRequestHandler)\n- [1.4.0](/java/docs/reference/google-auth-library/1.4.0/com.google.auth.oauth2.StsRequestHandler)\n- [1.3.0](/java/docs/reference/google-auth-library/1.3.0/com.google.auth.oauth2.StsRequestHandler) \n\n public final class StsRequestHandler\n\nImplements the OAuth 2.0 token exchange based on [RFC 8693](https://tools.ietf.org/html/rfc8693).\n\nThis class handles the process of exchanging one type of token for another using the Security\nToken Service (STS). It constructs and sends the token exchange request to the STS endpoint and\nparses the response to create an [StsTokenExchangeResponse](/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.StsTokenExchangeResponse) object.\n\nUse the [#newBuilder(String, StsTokenExchangeRequest, HttpRequestFactory)](/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.StsRequestHandler#com_google_auth_oauth2_StsRequestHandler_newBuilder_java_lang_String_com_google_auth_oauth2_StsTokenExchangeRequest_com_google_api_client_http_HttpRequestFactory_) method to\ncreate a new builder for constructing an instance of this class. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e StsRequestHandler \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Methods\n--------------\n\n### newBuilder(String tokenExchangeEndpoint, StsTokenExchangeRequest stsTokenExchangeRequest, HttpRequestFactory httpRequestFactory)\n\n public static StsRequestHandler.Builder newBuilder(String tokenExchangeEndpoint, StsTokenExchangeRequest stsTokenExchangeRequest, HttpRequestFactory httpRequestFactory)\n\nReturns a new builder for creating an instance of [StsRequestHandler](/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.StsRequestHandler).\n\nMethods\n-------\n\n### exchangeToken()\n\n public StsTokenExchangeResponse exchangeToken()\n\nExchanges the provided token for another type of token based on the RFC 8693 spec."]]