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サービスがボットに「イベント」または「呼び出し」アクティビティでアクセストークンを転送する自動サインインフロー。 - ユーザーがサインインすると、SSOサービスから6桁のコードを送信するよう促される「マジックコード」フロー。 このコードは標準的な「メッセージ」アクティビティとして送信されます。

両方のフローは「OAuthPrompt」によって自動的にサポートされており、唯一注意すべきは、プロンプトが待っているかもしれない「イベント」や「呼び出し」のアクティビティをブロックしないようにすることです。

**注意**:ボットの別の状態でアクセストークンを永続化するのは避けるべきです。 Bot Frameworks SSO サービスは、ユーザーに代わってトークンを安全に格納します。 ボットの状態で保存すると、有効期限が切れたり、順番の間に取り消されたりする可能性があります。

ウォーターフォール ステップ内からプロンプトを呼び出す場合は、プロンプトの後の手順でトークンを使用し、関数の最後にトークンをスコープ外にします。

### プロンプトの使用

ボットの DialogSet と組み合わせて使う場合は、 Add(Dialog)を使ってプロンプトの新しいインスタンスを名前付きダイアログとして追加できます。 その後、BeginDialogAsync(String, Object, CancellationToken) または PromptAsync(String, PromptOptions, 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)

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

適用対象