Show / Hide Table of Contents

Interface IPkceAuthorizationCodeFlow

Authorization flow that supports Proof Key for Code Exchange (PKCE) as described in https://www.rfc-editor.org/rfc/rfc7636.

Inherited Members
IAuthorizationCodeFlow.AccessMethod
IAuthorizationCodeFlow.Clock
IAuthorizationCodeFlow.DataStore
IAuthorizationCodeFlow.LoadTokenAsync(string, CancellationToken)
IAuthorizationCodeFlow.DeleteTokenAsync(string, CancellationToken)
IAuthorizationCodeFlow.CreateAuthorizationCodeRequest(string)
IAuthorizationCodeFlow.ExchangeCodeForTokenAsync(string, string, string, CancellationToken)
IAuthorizationCodeFlow.RefreshTokenAsync(string, string, CancellationToken)
IAuthorizationCodeFlow.RevokeTokenAsync(string, string, CancellationToken)
IAuthorizationCodeFlow.ShouldForceTokenRetrieval()
IDisposable.Dispose()
Namespace: Google.Apis.Auth.OAuth2.Flows
Assembly: Google.Apis.Auth.dll
Syntax
public interface IPkceAuthorizationCodeFlow : IAuthorizationCodeFlow, IDisposable
Remarks

If you are writing your own authorization flow to be used with AuthorizationCodeInstalledApp make sure you implement this interface if you need to support PKCE. See https://developers.google.com/identity/protocols/oauth2/native-app for how Google supports PKCE.

Methods

CreateAuthorizationCodeRequest(string, out string)

Creates an authorization code request with the specified redirect URI.

Declaration
AuthorizationCodeRequestUrl CreateAuthorizationCodeRequest(string redirectUri, out string codeVerifier)
Parameters
Type Name Description
string redirectUri

The redirect URI for the authorization code request.

string codeVerifier

The code verifier associated to the code challenge that should be included in the returned AuthorizationCodeRequestUrl. Note this is an

out
parameter.
Returns
Type Description
AuthorizationCodeRequestUrl

An AuthorizationCodeRequestUrl subclass instance that includes the code challenge and code challenge method associated with codeVerifier.

ExchangeCodeForTokenAsync(string, string, string, string, CancellationToken)

Asynchronously exchanges an authorization code for an access token.

Declaration
Task<TokenResponse> ExchangeCodeForTokenAsync(string userId, string code, string codeVerifier, string redirectUri, CancellationToken taskCancellationToken)
Parameters
Type Name Description
string userId

User identifier.

string code

Authorization code received from the authorization server.

string codeVerifier

The PKCE code verifier to include in the exchange request. When called by the authentication library, this will be the same value specified by the

codeVerifier
out parameter in an earlier call to CreateAuthorizationCodeRequest.
string redirectUri

Redirect URI which is used in the token request.

CancellationToken taskCancellationToken

Cancellation token to cancel operation.

Returns
Type Description
Task<TokenResponse>

Token response which contains the access token.

In this article
Back to top Generated by DocFX