다음을 통해 공유


TeamsSSOTokenExchangeMiddleware class

활동 이름이 signin/tokenExchange인 경우 이 미들웨어는 토큰을 교환하고 들어오는 호출을 중복 제거하여 하나의 교환 요청만 처리되도록 합니다. 사용자가 여러 Teams 클라이언트에 로그인한 경우 봇은 각 클라이언트에서 "signin/tokenExchange"를 받을 수 있습니다. 특정 사용자 로그인에 대한 각 토큰 교환 요청은 동일한 activity.value.id.

이러한 토큰 교환 요청 중 하나만 봇에서 처리해야 합니다. 다른 StatusCodes.PRECONDITION_FAILED반환합니다. 프로덕션의 분산 봇의 경우 하나의 토큰 교환만 처리되도록 분산 스토리지가 필요합니다. 이 미들웨어는 로컬 개발을 위해 botbuilder-azure 또는 MemoryStorage에 있는 CosmosDb 스토리지를 지원합니다.

생성자

TeamsSSOTokenExchangeMiddleware(Storage, string)

TeamsSSOTokenExchangeMiddleware 클래스의 새 인스턴스를 초기화합니다.

메서드

onTurn(TurnContext, () => Promise<void>)

봇이 새 요청을 받을 때마다 호출됩니다.

생성자 세부 정보

TeamsSSOTokenExchangeMiddleware(Storage, string)

TeamsSSOTokenExchangeMiddleware 클래스의 새 인스턴스를 초기화합니다.

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

매개 변수

storage

Storage

중복 제거에 사용할 Storage

oAuthConnectionName

string

Single Sign-On 토큰 교환에 사용할 연결 이름

메서드 세부 정보

onTurn(TurnContext, () => Promise<void>)

봇이 새 요청을 받을 때마다 호출됩니다.

function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>

매개 변수

context

TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

next

() => Promise<void>

미들웨어 체인의 다음 단계로 실행을 계속하기 위해 호출하는 함수입니다.

반환

Promise<void>