OAuthPrompt クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Bot Frameworks シングル サインオン (SSO) サービスを使用してサインインするようにユーザーに求める新しいプロンプトを作成します。
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- 継承
注釈
プロンプトはユーザーの現在のトークンを取得しようとし、サインインしていなければ、サインインボタンが入った「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) |
現在のダイアログまたは現在のダイアログが開始したダイアログによって、 |
| 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) |
ダイアログ スタックを作成し、ダイアログを開始してスタックにプッシュします。 |