@microsoft/agents-hosting
Version:
Microsoft 365 Agents SDK for JavaScript
82 lines (81 loc) • 3.72 kB
TypeScript
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;
}