OAuthPrompt 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个新提示,要求用户使用 Bot Frameworks 单一登录 (SSO) 服务登录。
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- 继承
注解
提示将尝试检索用户的当前令牌,如果用户未登录,它将向他们发送一个“OAuthCard”,其中包含他们可以按下以登录的按钮。 根据通道,用户将通过两个可能的登录流之一发送:
- 自动登录流,用户登录后,SSO 服务将使用“event”或“invoke”活动转发机器人访问令牌。 - “magic code”流,用户登录后,SSO 服务会提示他们向机器人发送六位数代码,确认其身份。 此代码将作为标准“message”活动发送。
“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) |
方法
扩展方法
RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
创建对话堆栈并启动对话,将其推送到堆栈上。 |