次の方法で共有


OAuthPrompt クラス

定義

Bot Frameworks シングル サインオン (SSO) サービスを使用してサインインするようにユーザーに求める新しいプロンプトを作成します。

public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
    inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
継承
OAuthPrompt

注釈

プロンプトはユーザーの現在のトークンの取得を試み、ユーザーがサインインしていない場合は、サインインするために押すことができるボタンを含む 'OAuthCard' を送信します。 チャネルに応じて、ユーザーは次の 2 つの可能なサインイン フローのいずれかを介して送信されます。

- ユーザーがサインインし、SSO サービスによってボットが転送される自動サインイン フロー。ユーザーは、"イベント" または "呼び出し" アクティビティを使用してトークンにアクセスします。 - ユーザーがサインインすると、ユーザーの ID を確認する 6 桁のコードをボットに送信するように SSO サービスから求められる "マジック コード" フロー。 このコードは、標準の "メッセージ" アクティビティとして送信されます。

どちらのフローも 'OAuthPrompt' によって自動的にサポートされます。注意する必要があるのは、プロンプトが待機している可能性がある "イベント" アクティビティと "呼び出し" アクティビティをブロックしてはいけないことです。

**注**: 他の状態のボットでアクセス トークンを保持しないようにする必要があります。 Bot Frameworks SSO サービスは、ユーザーに代わってトークンを安全に格納します。 ボットの状態に格納すると、有効期限が切れるか、ターンの間に取り消される可能性があります。

ウォーターフォール ステップ内からプロンプトを呼び出す場合は、プロンプトの次の手順でトークンを使用し、関数の最後にトークンがスコープ外に出されるようにする必要があります。

### プロンプトの使用法

ボットで使用する場合は DialogSet 、 を使用して Add(Dialog)、プロンプトの新しいインスタンスを名前付きダイアログとして追加するだけです。 その後、 または PromptAsync(String, PromptOptions, CancellationToken)を使用してウォーターフォール ステップからプロンプトをBeginDialogAsync(String, Object, CancellationToken)開始できます。 ユーザーは必要に応じてサインインするように求められます。アクセス トークンは、呼び出し元の次のウォーターフォール ステップに引数として渡されます。

コンストラクター

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

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

プロパティ

Id

ダイアログの ID を取得または設定します。

(継承元 Dialog)
Source

cref="SourceRange"/の情報を取得します>。

(継承元 Dialog)
TelemetryClient

ログ記録に使用する を IBotTelemetryClient 取得または設定します。

(継承元 Dialog)

メソッド

BeginDialogAsync(DialogContext, Object, CancellationToken)

ダイアログ スタックにプロンプト ダイアログがプッシュされ、アクティブ化されるときに呼び出されます。

ContinueDialogAsync(DialogContext, CancellationToken)

プロンプト ダイアログがアクティブなダイアログであり、ユーザーが新しいアクティビティで応答したときに呼び出されます。

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

ダイアログが終了するときに呼び出されます。

(継承元 Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

ユーザーのトークンの取得を試みます。

GetVersion()

このダイアログのバージョンを表す一意の文字列を取得します。 間のバージョンが変更された場合、ダイアログ システムは DialogChanged イベントを生成します。

(継承元 Dialog)
OnComputeId()

ダイアログのコンピューティング ID を作成します。

(継承元 Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

現在のダイアログまたは現在のダイアログが開始したダイアログによって を使用して DialogContext.emitEvent()、イベントが発生したときに呼び出されます。

(継承元 Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

イベントがすべての親にバブルされ、処理されなかった後に呼び出されます。

(継承元 Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

イベントが親にバブルされる前に呼び出されます。

(継承元 Dialog)
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken)

RecognizeTokenAsync 関数の共有実装。 これは、OAuthPrompt と OAuthInput の実装を統合するための内部使用を目的としています。 アプリケーション ロジックでは、これらのダイアログ クラスを使用する必要があります。

RegisterSourceLocation(String, Int32)

指定した場所に cref="SourceRange"/> を登録します。

(継承元 Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

ダイアログがユーザーに入力を再度求める必要がある場合に呼び出されます。

(継承元 Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

子ダイアログがこのターンを完了したときに呼び出され、このダイアログにコントロールが返されます。

(継承元 Dialog)
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken)

SendOAuthCardAsync 関数の共有実装。 これは、OAuthPrompt と OAuthInput の実装を統合するための内部使用を目的としています。 アプリケーション ロジックでは、これらのダイアログ クラスを使用する必要があります。

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

SetCallerInfoInDialogState 関数の共有実装。 これは、OAuthPrompt と OAuthInput の実装を統合するための内部使用を目的としています。 アプリケーション ロジックでは、これらのダイアログ クラスを使用する必要があります。

SignOutUserAsync(ITurnContext, CancellationToken)

ユーザーをサインアウトさせます。

拡張メソッド

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

ダイアログ スタックを作成し、ダイアログを開始してスタックにプッシュします。

適用対象