TeamsSSOTokenExchangeMiddleware class
활동 이름이 signin/tokenExchange인 경우 이 미들웨어는 토큰을 교환하고 들어오는 호출을 중복 제거하여 하나의 교환 요청만 처리되도록 합니다. 사용자가 여러 Teams 클라이언트에 로그인한 경우 봇은 각 클라이언트에서 "signin/tokenExchange"를 받을 수 있습니다. 특정 사용자 로그인에 대한 각 토큰 교환 요청은 동일한 activity.value.id.
이러한 토큰 교환 요청 중 하나만 봇에서 처리해야 합니다. 다른 StatusCodes.PRECONDITION_FAILED반환합니다. 프로덕션의 분산 봇의 경우 하나의 토큰 교환만 처리되도록 분산 스토리지가 필요합니다. 이 미들웨어는 로컬 개발을 위해 botbuilder-azure 또는 MemoryStorage에 있는 CosmosDb 스토리지를 지원합니다.
생성자
| Teams |
TeamsSSOTokenExchangeMiddleware 클래스의 새 인스턴스를 초기화합니다. |
메서드
| on |
봇이 새 요청을 받을 때마다 호출됩니다. |
생성자 세부 정보
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>