Thread-safe OAuth 2.0 authorization code flow that manages and persists end-user credentials.
This is designed to simplify the flow in which an end-user authorizes the application to access their protected
data, and then the application has access to their data based on an access token and a refresh token to refresh
that access token when it expires.
[[["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-09-04 UTC."],[[["\u003cp\u003eThis document details the OAuth 2.0 authorization code flow classes and interfaces for the Google APIs .NET library, including \u003ccode\u003eAuthorizationCodeFlow\u003c/code\u003e and its Google-specific extensions.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAuthorizationCodeFlow\u003c/code\u003e class is a thread-safe implementation for managing and persisting end-user credentials, simplifying the process of authorizing an application to access protected data.\u003c/p\u003e\n"],["\u003cp\u003eGoogle-specific flows like \u003ccode\u003eGoogleAuthorizationCodeFlow\u003c/code\u003e and \u003ccode\u003ePkceGoogleAuthorizationCodeFlow\u003c/code\u003e extend the base functionality to meet Google's requirements and support PKCE for enhanced security.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIAuthorizationCodeFlow\u003c/code\u003e and \u003ccode\u003eIPkceAuthorizationCodeFlow\u003c/code\u003e interfaces define the contract for OAuth 2.0 authorization flows and flows supporting Proof Key for Code Exchange (PKCE), respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of this document is \u003ccode\u003e1.69.0\u003c/code\u003e , with version history going as far back as \u003ccode\u003e1.50.0\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Namespace Google.Apis.Auth.OAuth2.Flows (1.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.69.0 (latest)](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows)\n- [1.68.0](/dotnet/docs/reference/Google.Apis/1.68.0/Google.Apis.Auth.OAuth2.Flows)\n- [1.60.0](/dotnet/docs/reference/Google.Apis/1.60.0/Google.Apis.Auth.OAuth2.Flows)\n- [1.59.0](/dotnet/docs/reference/Google.Apis/1.59.0/Google.Apis.Auth.OAuth2.Flows)\n- [1.55.0](/dotnet/docs/reference/Google.Apis/1.55.0/Google.Apis.Auth.OAuth2.Flows)\n- [1.50.0](/dotnet/docs/reference/Google.Apis/1.50.0/Google.Apis.Auth.OAuth2.Flows) \n\nClasses\n-------\n\n### [AuthorizationCodeFlow](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.AuthorizationCodeFlow)\n\nThread-safe OAuth 2.0 authorization code flow that manages and persists end-user credentials.\n\n\nThis is designed to simplify the flow in which an end-user authorizes the application to access their protected\ndata, and then the application has access to their data based on an access token and a refresh token to refresh\nthat access token when it expires.\n\n\u003cbr /\u003e\n\n### [AuthorizationCodeFlow.Initializer](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.AuthorizationCodeFlow.Initializer)\n\nAn initializer class for the authorization code flow.\n\n### [GoogleAuthorizationCodeFlow](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.GoogleAuthorizationCodeFlow)\n\nGoogle specific authorization code flow which inherits from [AuthorizationCodeFlow](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.AuthorizationCodeFlow).\n\n### [GoogleAuthorizationCodeFlow.Initializer](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.GoogleAuthorizationCodeFlow.Initializer)\n\nAn initializer class for Google authorization code flow.\n\n### [PkceGoogleAuthorizationCodeFlow](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.PkceGoogleAuthorizationCodeFlow)\n\nGoogle authorization flow implementation that supports PKCE as described in \u003chttps://www.rfc-editor.org/rfc/rfc7636\u003e\nand \u003chttps://developers.google.com/identity/protocols/oauth2/native-app\u003e.\n\nInterfaces\n----------\n\n### [IAuthorizationCodeFlow](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.IAuthorizationCodeFlow)\n\nOAuth 2.0 authorization code flow that manages and persists end-user credentials.\n\n### [IPkceAuthorizationCodeFlow](/dotnet/docs/reference/Google.Apis/latest/Google.Apis.Auth.OAuth2.Flows.IPkceAuthorizationCodeFlow)\n\nAuthorization flow that supports Proof Key for Code Exchange (PKCE)\nas described in \u003chttps://www.rfc-editor.org/rfc/rfc7636\u003e."]]