OAuthPrompt クラス

public class OAuthPrompt
extends Dialog

Bot Frameworks シングル サインオン (SSO) サービスを使用してサインインするようにユーザーに求める新しいプロンプトを作成します。 プロンプトはユーザーの現在のトークンの取得を試み、ユーザーがサインインしていない場合は、サインインするために押すことができるボタンを含む 'OAuthCard' を送信します。 チャネルに応じて、ユーザーは 2 つの可能なサインイン フローのいずれかを通じて送信されます。つまり、ユーザーがサインインし、SSO サービスが "イベント" アクティビティまたは "invoke" アクティビティを使用してユーザー アクセス トークンをボットに転送する自動サインイン フローです。"マジック コード" フロー。ユーザーがサインインすると、SSOservice からボットに ID を確認する 6 桁のコードを送信するように求められます。 このコードは、標準の "メッセージ" アクティビティとして送信されます。 どちらのフローも 'OAuthPrompt' によって自動的にサポートされます。注意が必要なのは、プロンプトが待機している可能性がある "イベント" アクティビティと "呼び出し" アクティビティをブロックしてはいけないことです。 **注**:他の状態のボットでアクセス トークンを保持しないようにする必要があります。 Bot FrameworksSSO サービスは、ユーザーに代わってトークンを安全に格納します。 ボットに格納すると、有効期限が切れたり、順番の間に取り消されたりする可能性があります。 ウォーターフォール ステップ内からプロンプトを呼び出す場合は、ステップ内でトークンを使用してプロンプトをフォローし、関数の最後でトークンをスコープ外に出す必要があります。

コンストラクターの概要

コンストラクター 説明
OAuthPrompt(String dialogId, OAuthPromptSettings settings)

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

OAuthPrompt(String dialogId, OAuthPromptSettings settings, PromptValidator<TokenResponse> validator)

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

メソッドの概要

修飾子と型 メソッドと説明
java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(DialogContext dc, Object options)

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

java.util.concurrent.CompletableFuture<DialogTurnResult> continueDialog(DialogContext dc)

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

java.util.concurrent.CompletableFuture<TokenResponse> getUserToken(TurnContext turnContext)

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

static java.util.concurrent.CompletableFuture<PromptRecognizerResult<TokenResponse>> recognizeToken(OAuthPromptSettings settings, DialogContext dc)

RecognizeToken 関数の共有実装。

static java.util.concurrent.CompletableFuture<java.lang.Void> sendOAuthCard(OAuthPromptSettings settings, TurnContext turnContext, Activity prompt)

SendOAuthCard 関数の共有実装。

static void setCallerInfoInDialogState(Map<String,Object> state, TurnContext context)

SetCallerInfoInDialogState 関数の共有実装。

java.util.concurrent.CompletableFuture<java.lang.Void> signOutUser(TurnContext turnContext)

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

メソッドの継承元: Dialog

メソッドの継承元: java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

コンストラクターの詳細

OAuthPrompt

public OAuthPrompt(String dialogId, OAuthPromptSettings settings)

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

パラメーター:

dialogId - このプロンプトに割り当てる D。
settings - プロンプトのこのインスタンスで使用する追加の OAuth 設定。
              The value of <xref uid="" data-throw-if-not-resolved="false" data-raw-source="dialogId"></xref> must be unique within the
              <xref uid="com.microsoft.bot.dialogs.DialogSet" data-throw-if-not-resolved="false" data-raw-source="DialogSet"></xref> or <xref uid="com.microsoft.bot.dialogs.ComponentDialog" data-throw-if-not-resolved="false" data-raw-source="ComponentDialog"></xref> to which the
              prompt is added.

OAuthPrompt

public OAuthPrompt(String dialogId, OAuthPromptSettings settings, PromptValidator validator)

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

パラメーター:

dialogId - このプロンプトに割り当てる D。
settings - プロンプトのこのインスタンスで使用する追加の OAuth 設定。
validator - 省略可能。このプロンプトの追加のカスタム検証を含む {@link PromptValidator{FoundChoice}} です。
              The value of <xref uid="" data-throw-if-not-resolved="false" data-raw-source="dialogId"></xref> must be unique within the
              <xref uid="com.microsoft.bot.dialogs.DialogSet" data-throw-if-not-resolved="false" data-raw-source="DialogSet"></xref> or <xref uid="com.microsoft.bot.dialogs.ComponentDialog" data-throw-if-not-resolved="false" data-raw-source="ComponentDialog"></xref> to which the
              prompt is added.

メソッドの詳細

beginDialog

public CompletableFuture beginDialog(DialogContext dc, Object options)

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

上書き:

OAuthPrompt.beginDialog(DialogContext dc, Object options)

パラメーター:

dc - 会話の現在のターンのダイアログ コンテキスト。
options - オプション。開始中のプロンプトに渡す追加情報。

戻り値:

hronous 操作を表す CompletableFuture。 タスクが成功した場合、結果は、プロンプトによってターンが処理された後もプロンプトがまだアクティブかどうかを示します。

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

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

上書き:

OAuthPrompt.continueDialog(DialogContext dc)

パラメーター:

dc - 会話の現在のターンのダイアログ コンテキスト。

戻り値:

hronous 操作を表す CompletableFuture。 タスクが成功した場合、結果は、ダイアログによってターンが処理された後もダイアログがアクティブかどうかを示します。 通常、プロンプトは、ユーザーの応答をプロンプトの有効な入力として受け入れるまで、ユーザーの応答を受け取り続けます。

getUserToken

public CompletableFuture getUserToken(TurnContext turnContext)

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

パラメーター:

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

戻り値:

実行するキューに登録された作業を表すタスク。
     If the task is successful and user already has a token or the user
     successfully signs in, the result contains the user's token.

recognizeToken

public static CompletableFuture> recognizeToken(OAuthPromptSettings settings, DialogContext dc)

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

パラメーター:

settings - OAuthPromptSettings。
dc - DialogContext。

戻り値:

PromptRecognizerResult。

sendOAuthCard

public static CompletableFuture sendOAuthCard(OAuthPromptSettings settings, TurnContext turnContext, Activity prompt)

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

パラメーター:

settings - OAuthSettings。
turnContext - TurnContext。
prompt - MessageActivity。

戻り値:

hronous 操作の結果を表す CompletableFuture

setCallerInfoInDialogState

public static void setCallerInfoInDialogState(Map state, TurnContext context)

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

パラメーター:

state - ダイアログの状態。
context - TurnContext。

signOutUser

public CompletableFuture signOutUser(TurnContext turnContext)

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

パラメーター:

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

戻り値:

実行するキューに登録された作業を表すタスク。

適用対象