OAuthPrompt 类
- java.
lang. Object - com.
microsoft. bot. dialogs. Dialog - com.
microsoft. bot. dialogs. prompts. OAuthPrompt
- com.
- com.
public class OAuthPrompt
extends Dialog
创建一个新提示,要求用户使用 Bot Frameworks 单一登录 (SSO) 服务登录。 提示将尝试检索用户当前令牌,如果用户未登录,它将向他们发送一个“OAuthCard”,其中包含他们可以按登录的按钮。 根据通道的不同,用户将通过两种可能的登录流之一发送:- 自动登录流,一旦用户登录,SSO 服务将转发机器人,用户使用“事件”或“调用”活动来访问令牌。- “魔术代码”流,用户登录后,SSOservice 将提示他们向机器人发送六位数代码以确认其身份。 此代码将作为标准“message”活动发送。 “OAuthPrompt”自动支持这两个流,唯一需要注意的是,你不会阻止提示可能等待的“事件”和“调用”活动。 **注意**:应避免将访问令牌与机器人保持为其他状态。 Bot FrameworksSSO 服务将代表你安全地存储令牌。 如果将其存储在机器人状态中,则可能会在轮次之间过期或撤销。 从瀑布步骤中调用提示时,应在步骤中使用令牌,然后让令牌超出函数末尾的范围。
构造函数摘要
方法摘要
修饰符和类型 | 方法和描述 |
---|---|
java.util.concurrent.CompletableFuture<Dialog |
beginDialog(DialogContext dc, Object options)
在将提示对话框推送到对话堆栈并被激活时调用。 |
java.util.concurrent.CompletableFuture<Dialog |
continueDialog(DialogContext dc)
当提示对话为活动对话且用户使用新活动进行回复时调用。 |
java.util.concurrent.CompletableFuture<Token |
getUserToken(TurnContext turnContext)
尝试获取用户的令牌。 |
static
java.util.concurrent.CompletableFuture<Prompt |
recognizeToken(OAuthPromptSettings settings, DialogContext dc)
识别 |
static java.util.concurrent.CompletableFuture<java.lang.Void> |
sendOAuthCard(OAuthPromptSettings settings, TurnContext turnContext, Activity prompt)
Send |
static void |
setCallerInfoInDialogState(Map<String,Object> state, TurnContext context)
Set |
java.util.concurrent.CompletableFuture<java.lang.Void> |
signOutUser(TurnContext turnContext)
注销用户。 |
方法继承自 Dialog
方法继承自 java.lang.Object
构造函数详细信息
OAuthPrompt
public OAuthPrompt(String dialogId, OAuthPromptSettings settings)
初始化 OAuthPrompt 类的新实例。
Parameters:
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
初始化 OAuthPrompt 类的新实例。
Parameters:
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
在将提示对话框推送到对话堆栈并被激活时调用。
Overrides:
OAuthPrompt.beginDialog(DialogContext dc, Object options)Parameters:
Returns:
continueDialog
public CompletableFuture
当提示对话为活动对话且用户使用新活动进行回复时调用。
Overrides:
OAuthPrompt.continueDialog(DialogContext dc)Parameters:
Returns:
getUserToken
public CompletableFuture
尝试获取用户的令牌。
Parameters:
Returns:
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 函数的共享实现。 这供内部使用,用于合并 OAuthPrompt 和 OAuthInput 的实现。 应用程序逻辑应使用这些对话类。
Parameters:
Returns:
sendOAuthCard
public static CompletableFuture
SendOAuthCard 函数的共享实现。 这供内部使用,用于合并 OAuthPrompt 和 OAuthInput 的实现。 应用程序逻辑应使用这些对话类。
Parameters:
Returns:
setCallerInfoInDialogState
public static void setCallerInfoInDialogState(Map
SetCallerInfoInDialogState 函数的共享实现。 这供内部使用,用于合并 OAuthPrompt 和 OAuthInput 的实现。 应用程序逻辑应使用这些对话类。
Parameters:
signOutUser
public CompletableFuture
注销用户。
Parameters:
Returns: