@microsoft/teams-ai
Version:
SDK focused on building AI based applications for Microsoft Teams.
52 lines • 2.52 kB
TypeScript
import { TurnContext } from 'botbuilder-core';
import { TokenResponse } from 'botframework-schema';
import { MessageExtensionAuthenticationBase } from './MessageExtensionAuthenticationBase';
import { TeamsSsoSettings } from './TeamsSsoSettings';
import { ConfidentialClientApplication } from '@azure/msal-node';
/**
* @internal
*
* Handles authentication for Teams Message Extension using Single Sign-On (SSO).
*/
export declare class TeamsSsoMessageExtensionAuthentication extends MessageExtensionAuthenticationBase {
private readonly settings;
private readonly msal;
/**
* Creates a new instance of TeamsSsoMessageExtensionAuthentication.
* @param {TeamsSsoSettings} settings The Teams SSO settings.
* @param {ConfidentialClientApplication} msal The MSAL (Microsoft Authentication Library) instance.
*/
constructor(settings: TeamsSsoSettings, msal: ConfidentialClientApplication);
/**
* Checks if the activity is a valid Message Extension activity that supports SSO
* @param {TurnContext} context The turn context.
* @returns {boolean} A boolean indicating if the activity is valid.
*/
isValidActivity(context: TurnContext): boolean;
/**
* Handles the SSO token exchange.
* @param {TurnContext} context The turn context.
* @returns {Promise<TokenResponse | undefined>} A promise that resolves to the token response or undefined if token exchange failed.
*/
handleSsoTokenExchange(context: TurnContext): Promise<TokenResponse | undefined>;
/**
* Handles the signin/verifyState activity.
* @param {TurnContext} context The turn context.
* @param {string} magicCode The magic code from sign-in.
* @returns {Promise<TokenResponse|undefined>} A promise that resolves to undefined. The parent class will trigger silentAuth again.
*/
handleUserSignIn(context: TurnContext, magicCode: string): Promise<TokenResponse | undefined>;
/**
* Gets the sign-in link for the user.
* @param {TurnContext} context The turn context.
* @returns {Promise<string>} A promise that resolves to the sign-in link.
*/
getSignInLink(context: TurnContext): Promise<string>;
/**
* Should sign in using SSO flow.
* @param {TurnContext} context - The turn context.
* @returns {boolean} - A boolean indicating if the sign-in should use SSO flow.
*/
isSsoSignIn(context: TurnContext): boolean;
}
//# sourceMappingURL=TeamsSsoMessageExtensionAuthentication.d.ts.map