次の方法で共有


TeamsSSOTokenExchangeMiddleware クラス

定義

アクティビティ名が signin/tokenExchange の場合、このミドルウェアはトークンの交換を試み、着信呼び出しを重複除去して、1 つの exchange 要求のみが処理されるようにします。

public class TeamsSSOTokenExchangeMiddleware : Microsoft.Bot.Builder.IMiddleware
type TeamsSSOTokenExchangeMiddleware = class
    interface IMiddleware
Public Class TeamsSSOTokenExchangeMiddleware
Implements IMiddleware
継承
TeamsSSOTokenExchangeMiddleware
実装

注釈

ユーザーが複数の Teams クライアントにサインインしている場合、ボットは各クライアントから "signin/tokenExchange" を受け取る可能性があります。 特定のユーザー ログインに対する各トークン交換要求には、同じ Activity.Value.Id があります。

これらのトークン交換要求の 1 つだけをボットで処理する必要があります。 他のユーザーは を返します PreconditionFailed。 運用環境の分散ボットの場合、これには分散ストレージが必要であり、トークン交換が 1 つだけ処理されます。 このミドルウェアは、Microsoft.Bot.Builder.Azure にある CosmosDb ストレージ、またはローカル開発用の MemoryStorage をサポートしています。 トークン交換アクティビティ重複除去のための IStorage の ETag 実装。

コンストラクター

TeamsSSOTokenExchangeMiddleware(IStorage, String)

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

メソッド

OnTurnAsync(ITurnContext, NextDelegate, CancellationToken)

ミドルウェアで実装されると、受信アクティビティが処理されます。

適用対象