Class GoogleWebAuthorizationBroker (1.68.0)

public class GoogleWebAuthorizationBroker

A helper utility to manage the authorization code flow.

Inheritance

object > GoogleWebAuthorizationBroker

Namespace

Google.Apis.Auth.OAuth2

Assembly

Google.Apis.Auth.dll

Remarks

This class is only suitable for client-side use, as it starts a local browser that requires user interaction. Do not use this class when executing on a web server, or any cases where the authenticating end-user is not able to do directly interact with a launched browser.

Fields

Folder

public static string Folder

The folder which is used by the FileDataStore.

Field Value
Type Description
string
Remarks

The reason that this is not 'private const' is that a user can change it and store the credentials in a different location.

Methods

AuthorizeAsync(ClientSecrets, IEnumerable<string>, string, CancellationToken, IDataStore, ICodeReceiver)

public static Task<UserCredential> AuthorizeAsync(ClientSecrets clientSecrets, IEnumerable<string> scopes, string user, CancellationToken taskCancellationToken, IDataStore dataStore = null, ICodeReceiver codeReceiver = null)

Asynchronously authorizes the specified user. Requires user interaction; see GoogleWebAuthorizationBroker remarks for more details.

Parameters
Name Description
clientSecrets ClientSecrets

The client secrets.

scopes IEnumerablestring

The scopes which indicate the Google API access your application is requesting.

user string

The user to authorize.

taskCancellationToken CancellationToken

Cancellation token to cancel an operation.

dataStore IDataStore

The data store, if not specified a file data store will be used.

codeReceiver ICodeReceiver

The code receiver, if not specified a local server code receiver will be used.

Returns
Type Description
TaskUserCredential

User credential.

Remarks

In case no data store is specified, FileDataStore will be used by default.

AuthorizeAsync(Initializer, IEnumerable<string>, string, bool, CancellationToken, IDataStore, ICodeReceiver)

public static Task<UserCredential> AuthorizeAsync(GoogleAuthorizationCodeFlow.Initializer initializer, IEnumerable<string> scopes, string user, bool usePkce, CancellationToken taskCancellationToken, IDataStore dataStore = null, ICodeReceiver codeReceiver = null)

The core logic for asynchronously authorizing the specified user. Requires user interaction; see GoogleWebAuthorizationBroker remarks for more details.

Parameters
Name Description
initializer GoogleAuthorizationCodeFlowInitializer

The authorization code initializer.

scopes IEnumerablestring

The scopes which indicate the Google API access your application is requesting.

user string

The user to authorize.

usePkce bool

If true, PKCE will be used by the authorization flow. Note that using PKCE is recommended for security reasons. See https://developers.google.com/identity/protocols/oauth2/native-app for more information.

taskCancellationToken CancellationToken

Cancellation token to cancel an operation.

dataStore IDataStore

The data store, if not specified a file data store will be used.

codeReceiver ICodeReceiver

The code receiver, if not specified a local server code receiver will be used.

Returns
Type Description
TaskUserCredential

User credential.

AuthorizeAsync(Initializer, IEnumerable<string>, string, CancellationToken, IDataStore, ICodeReceiver)

public static Task<UserCredential> AuthorizeAsync(GoogleAuthorizationCodeFlow.Initializer initializer, IEnumerable<string> scopes, string user, CancellationToken taskCancellationToken, IDataStore dataStore = null, ICodeReceiver codeReceiver = null)

The core logic for asynchronously authorizing the specified user. Requires user interaction; see GoogleWebAuthorizationBroker remarks for more details.

Parameters
Name Description
initializer GoogleAuthorizationCodeFlowInitializer

The authorization code initializer.

scopes IEnumerablestring

The scopes which indicate the Google API access your application is requesting.

user string

The user to authorize.

taskCancellationToken CancellationToken

Cancellation token to cancel an operation.

dataStore IDataStore

The data store, if not specified a file data store will be used.

codeReceiver ICodeReceiver

The code receiver, if not specified a local server code receiver will be used.

Returns
Type Description
TaskUserCredential

User credential.

AuthorizeAsync(Stream, IEnumerable<string>, string, CancellationToken, IDataStore, ICodeReceiver)

public static Task<UserCredential> AuthorizeAsync(Stream clientSecretsStream, IEnumerable<string> scopes, string user, CancellationToken taskCancellationToken, IDataStore dataStore = null, ICodeReceiver codeReceiver = null)

Asynchronously authorizes the specified user. Requires user interaction; see GoogleWebAuthorizationBroker remarks for more details.

Parameters
Name Description
clientSecretsStream Stream

The client secrets stream. The authorization code flow constructor is responsible for disposing the stream.

scopes IEnumerablestring

The scopes which indicate the Google API access your application is requesting.

user string

The user to authorize.

taskCancellationToken CancellationToken

Cancellation token to cancel an operation.

dataStore IDataStore

The data store, if not specified a file data store will be used.

codeReceiver ICodeReceiver

The code receiver, if not specified a local server code receiver will be used.

Returns
Type Description
TaskUserCredential

User credential.

Remarks

In case no data store is specified, FileDataStore will be used by default.

ReauthorizeAsync(UserCredential, CancellationToken, ICodeReceiver)

public static Task ReauthorizeAsync(UserCredential userCredential, CancellationToken taskCancellationToken, ICodeReceiver codeReceiver = null)

Asynchronously reauthorizes the user. This method should be called if the users want to authorize after they revoked the token. Requires user interaction; see GoogleWebAuthorizationBroker remarks for more details.

Parameters
Name Description
userCredential UserCredential

The current user credential. Its Token will be updated.

taskCancellationToken CancellationToken

Cancellation token to cancel an operation.

codeReceiver ICodeReceiver

The code receiver, if not specified a local server code receiver will be used.

Returns
Type Description
Task

Extension Method