次の方法で共有


TeamsSSOTokenExchangeMiddleware class

アクティビティ名が signin/tokenExchange の場合、このミドルウェアはトークンの交換を試み、着信呼び出しを重複除去して、1 つの交換要求のみが処理されるようにします。 ユーザーが複数の Teams クライアントにサインインしている場合、ボットは各クライアントから "signin/tokenExchange" を受け取る可能性があります。 特定のユーザー ログインに対する各トークン交換要求には、同じ activity.value.id があります。

これらのトークン交換要求の 1 つだけをボットで処理する必要があります。 その他は StatusCodes.PRECONDITION_FAILEDを返します。 運用環境の分散ボットの場合、これには分散ストレージが必要であり、トークン交換が 1 つだけ処理されます。 このミドルウェアは、botbuilder-azure 内にある CosmosDb ストレージ、またはローカル開発用の MemoryStorage をサポートしています。

コンストラクター

TeamsSSOTokenExchangeMiddleware(Storage, string)

TeamsSSOTokenExchangeMiddleware クラスの新しいインスタンスを初期化します。

メソッド

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

ボットが新しい要求を受信するたびに呼び出されます。

コンストラクターの詳細

TeamsSSOTokenExchangeMiddleware(Storage, string)

TeamsSSOTokenExchangeMiddleware クラスの新しいインスタンスを初期化します。

new TeamsSSOTokenExchangeMiddleware(storage: Storage, oAuthConnectionName: string)

パラメーター

storage

Storage

重複除去に使用する Storage

oAuthConnectionName

string

シングル サインオン トークン交換に使用する接続名

メソッドの詳細

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

ボットが新しい要求を受信するたびに呼び出されます。

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

パラメーター

context

TurnContext

ユーザーとの会話の現在のターンのコンテキスト。

next

() => Promise<void>

ミドルウェア チェーンの次のステップへの実行を続行するために呼び出す関数。

戻り値

Promise<void>