@azure/msal-browser
Version:
Microsoft Authentication Library for js
77 lines • 5.65 kB
TypeScript
import { ICrypto, INetworkModule, Logger, AccountInfo, ServerTelemetryManager, Authority, IPerformanceClient, AzureCloudOptions, StringDict } from "@azure/msal-common/browser";
import { BrowserConfiguration } from "../config/Configuration.js";
import { BrowserCacheManager } from "../cache/BrowserCacheManager.js";
import { EventHandler } from "../event/EventHandler.js";
import { EndSessionRequest } from "../request/EndSessionRequest.js";
import { RedirectRequest } from "../request/RedirectRequest.js";
import { PopupRequest } from "../request/PopupRequest.js";
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
import { INavigationClient } from "../navigation/INavigationClient.js";
import { AuthenticationResult } from "../response/AuthenticationResult.js";
import { ClearCacheRequest } from "../request/ClearCacheRequest.js";
import { IPlatformAuthHandler } from "../broker/nativeBroker/IPlatformAuthHandler.js";
export declare abstract class BaseInteractionClient {
protected config: BrowserConfiguration;
protected browserStorage: BrowserCacheManager;
protected browserCrypto: ICrypto;
protected networkClient: INetworkModule;
protected logger: Logger;
protected eventHandler: EventHandler;
protected navigationClient: INavigationClient;
protected platformAuthProvider: IPlatformAuthHandler | undefined;
protected correlationId: string;
protected performanceClient: IPerformanceClient;
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, correlationId: string, platformAuthProvider?: IPlatformAuthHandler);
abstract acquireToken(request: RedirectRequest | PopupRequest | SsoSilentRequest): Promise<AuthenticationResult | void>;
abstract logout(request: EndSessionRequest | ClearCacheRequest | undefined): Promise<void>;
}
/**
* Use to get the redirect URI configured in MSAL or construct one from the current page.
* @param requestRedirectUri - Redirect URI from the request or undefined if not configured
* @param clientConfigRedirectUri - Redirect URI from the client configuration or undefined if not configured
* @param logger - Logger instance from the calling client
* @param correlationId
* @returns Absolute redirect URL constructed from the provided URI, config, or current page
*/
export declare function getRedirectUri(requestRedirectUri: string | undefined, clientConfigRedirectUri: string | undefined, logger: Logger, correlationId: string): string;
/**
* Initializes and returns a ServerTelemetryManager with the provided telemetry configuration.
* @param apiId - The API identifier for telemetry tracking
* @param clientId - The client application identifier
* @param correlationId - Unique identifier for correlating requests
* @param browserStorage - Browser cache manager instance for storing telemetry data
* @param logger - Optional logger instance for verbose logging
* @param forceRefresh - Optional flag to force refresh of telemetry data
* @returns Configured ServerTelemetryManager instance
*/
export declare function initializeServerTelemetryManager(apiId: number, clientId: string, correlationId: string, browserStorage: BrowserCacheManager, logger: Logger, forceRefresh?: boolean): ServerTelemetryManager;
/**
* Used to get a discovered version of the default authority.
* @param params - Configuration object containing authority and cloud options
* @param params.requestAuthority - Optional specific authority URL to use
* @param params.requestAzureCloudOptions - Optional Azure cloud configuration options
* @param params.requestExtraQueryParameters - Optional additional query parameters
* @param params.account - Optional account info for instance-aware scenarios
* @param config - Browser configuration containing auth settings
* @param correlationId - Unique identifier for correlating requests
* @param performanceClient - Performance monitoring client instance
* @param browserStorage - Browser cache manager instance
* @param logger - Logger instance for tracking operations
* @returns Promise that resolves to a discovered Authority instance
*/
export declare function getDiscoveredAuthority(config: BrowserConfiguration, correlationId: string, performanceClient: IPerformanceClient, browserStorage: BrowserCacheManager, logger: Logger, requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions, requestExtraQueryParameters?: StringDict, account?: AccountInfo): Promise<Authority>;
/**
* Clears cache and account information during logout.
*
* If an account is provided, removes the account from cache and, if it is the active account, sets the active account to null.
* If no account is provided, clears all accounts and tokens from cache.
*
* @param browserStorage - The browser cache manager instance used to manage cache.
* @param browserCrypto - The crypto interface for cache operations.
* @param logger - Logger instance for logging operations.
* @param correlationId - Correlation ID for the logout operation.
* @param account - (Optional) The account to clear from cache. If not provided, all accounts are cleared.
* @returns A promise that resolves when the cache has been cleared.
*/
export declare function clearCacheOnLogout(browserStorage: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, correlationId: string, account?: AccountInfo | null): Promise<void>;
//# sourceMappingURL=BaseInteractionClient.d.ts.map