mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-03 23:06:49 +01:00
26 lines
1.6 KiB
TypeScript
26 lines
1.6 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
import type { AccountInfo, AuthenticationResult, InteractiveRequest, RefreshTokenRequest, SilentFlowRequest, DeviceCodeRequest } from '@azure/msal-node';
|
|
import type { Disposable, Event } from 'vscode';
|
|
|
|
export interface ICachedPublicClientApplication {
|
|
onDidAccountsChange: Event<{ added: AccountInfo[]; changed: AccountInfo[]; deleted: AccountInfo[] }>;
|
|
onDidRemoveLastAccount: Event<void>;
|
|
acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>;
|
|
acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>;
|
|
acquireTokenByDeviceCode(request: Omit<DeviceCodeRequest, 'deviceCodeCallback'>): Promise<AuthenticationResult | null>;
|
|
acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<AuthenticationResult | null>;
|
|
removeAccount(account: AccountInfo): Promise<void>;
|
|
accounts: AccountInfo[];
|
|
clientId: string;
|
|
isBrokerAvailable: Readonly<boolean>;
|
|
}
|
|
|
|
export interface ICachedPublicClientApplicationManager {
|
|
onDidAccountsChange: Event<{ added: AccountInfo[]; changed: AccountInfo[]; deleted: AccountInfo[] }>;
|
|
getOrCreate(clientId: string, migrate?: { refreshTokensToMigrate?: string[]; tenant: string }): Promise<ICachedPublicClientApplication>;
|
|
getAll(): ICachedPublicClientApplication[];
|
|
}
|