Class: GoogleDriveTokenManager
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:48
Manages OAuth tokens for Google Drive.
Constructors
Constructor
new GoogleDriveTokenManager(args: {
clientId: string;
clientSecret?: string;
secretStore: SecretStore;
storageKey: string;
}): GoogleDriveTokenManager;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:219
Parameters
args
clientId
string
clientSecret?
string
secretStore
storageKey
string
Returns
GoogleDriveTokenManager
Properties
clientId
private readonly clientId: string;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:49
clientSecret
private readonly clientSecret: string | undefined;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:51
credentialGeneration
private credentialGeneration: number = 0;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:54
Invalidates asynchronous work started with older credentials.
secretStore
private readonly secretStore: SecretStore;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:56
storageKey
private readonly storageKey: string;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:58
tokenMutationQueue
private tokenMutationQueue: Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:61
Serializes writes so a later login or logout determines final state.
refreshSingleFlight
private readonly refreshSingleFlight: () => Promise<string>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:67
Single-flight wrapper to prevent concurrent refresh storms when multiple call sites request an access token at the same time.
Returns
Promise<string>
Methods
clear()
clear(): Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:69
Returns
Promise<void>
getTokens()
getTokens(): Promise<GoogleDriveTokens | undefined>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:76
Returns
Promise<GoogleDriveTokens | undefined>
setTokens()
setTokens(tokens: GoogleDriveTokens): Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:87
Parameters
tokens
Returns
Promise<void>
isConnected()
isConnected(): Promise<boolean>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:98
Returns
Promise<boolean>
getValidAccessToken()
getValidAccessToken(): Promise<string>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:106
Returns a valid access token, refreshing if required.
Returns
Promise<string>
refresh()
private refresh(refreshToken: string): Promise<GoogleTokenResponse>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:121
Parameters
refreshToken
string
Returns
enqueueTokenMutation()
private enqueueTokenMutation(operation: () => Promise<void>): Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:140
Parameters
operation
() => Promise<void>
Returns
Promise<void>
storeRefreshedTokens()
private storeRefreshedTokens(tokens: GoogleDriveTokens, expectedGeneration: number): Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:157
Parameters
tokens
expectedGeneration
number
Returns
Promise<void>
clearIfGenerationMatches()
private clearIfGenerationMatches(expectedGeneration: number): Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:176
Parameters
expectedGeneration
number
Returns
Promise<void>
revoke()
revoke(): Promise<void>;
Defined in: electron/services/cloud/providers/googleDrive/GoogleDriveTokenManager.ts:189
Returns
Promise<void>