UNPKG

@microsoft/agents-hosting

Version:

Microsoft 365 Agents SDK for JavaScript

82 lines (81 loc) 3.72 kB
import { AxiosInstance } from 'axios'; import { ConversationReference } from '@microsoft/agents-activity'; import { AadResourceUrls, SignInResource, TokenExchangeRequest, TokenOrSinginResourceResponse, TokenResponse, TokenStatus } from './userTokenClient.types'; /** * Client for managing user tokens. */ export declare class UserTokenClient { private msAppId; client: AxiosInstance; /** * Creates a new instance of UserTokenClient. * @param token The token to use for authentication. * @param msAppId The Microsoft application ID. */ constructor(msAppId: string); /** * Gets the user token. * @param connectionName The connection name. * @param channelId The channel ID. * @param userId The user ID. * @param code The optional code. * @returns A promise that resolves to the user token. */ getUserToken(connectionName: string, channelId: string, userId: string, code?: string): Promise<TokenResponse>; /** * Signs the user out. * @param userId The user ID. * @param connectionName The connection name. * @param channelId The channel ID. * @returns A promise that resolves when the sign-out operation is complete. */ signOut(userId: string, connectionName: string, channelId: string): Promise<void>; /** * Gets the sign-in resource. * @param msAppId The application ID. * @param connectionName The connection name. * @param activity The activity. * @returns A promise that resolves to the signing resource. */ getSignInResource(msAppId: string, connectionName: string, conversation: ConversationReference, relatesTo?: ConversationReference): Promise<SignInResource>; /** * Exchanges the token. * @param userId The user ID. * @param connectionName The connection name. * @param channelId The channel ID. * @param tokenExchangeRequest The token exchange request. * @returns A promise that resolves to the exchanged token. */ exchangeTokenAsync(userId: string, connectionName: string, channelId: string, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>; /** * Gets the token or sign-in resource. * @param userId The user ID. * @param connectionName The connection name. * @param channelId The channel ID. * @param conversation The conversation reference. * @param relatesTo The related conversation reference. * @param code The code. * @param finalRedirect The final redirect URL. * @param fwdUrl The forward URL. * @returns A promise that resolves to the token or sign-in resource response. */ getTokenOrSignInResource(userId: string, connectionName: string, channelId: string, conversation: ConversationReference, relatesTo: ConversationReference, code: string, finalRedirect?: string, fwdUrl?: string): Promise<TokenOrSinginResourceResponse>; /** * Gets the token status. * @param userId The user ID. * @param channelId The channel ID. * @param include The optional include parameter. * @returns A promise that resolves to the token status. */ getTokenStatus(userId: string, channelId: string, include?: string): Promise<TokenStatus[]>; /** * Gets the AAD tokens. * @param userId The user ID. * @param connectionName The connection name. * @param channelId The channel ID. * @param resourceUrls The resource URLs. * @returns A promise that resolves to the AAD tokens. */ getAadTokens(userId: string, connectionName: string, channelId: string, resourceUrls: AadResourceUrls): Promise<Record<string, TokenResponse>>; updateAuthToken(token: string): void; }