OAuthPrompt Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый запрос, предлагающий пользователю войти с помощью службы единого входа Bot Frameworks.
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Наследование
Комментарии
Запрос попытается получить текущий маркер пользователя, и если пользователь не выполнил вход, он отправит ему "OAuthCard", содержащий кнопку, которую можно нажать для входа. В зависимости от канала пользователь будет отправляться через один из двух возможных потоков входа:
— поток автоматического входа, в котором после входа пользователя и службы единого входа бот будет пересылать маркер доступа пользователей с помощью действия event или invoke. — Поток "волшебного кода", в котором после входа пользователя служба единого входа предложит боту отправить шестизначный код, подтверждающий его личность. Этот код будет отправлен в виде стандартного действия message.
Оба потока автоматически поддерживаются OAuthPrompt, и единственное, что нужно быть осторожным, это не блокировать действия event и invoke, которые может ожидать запрос.
**Примечание**. Не следует сохранять маркер доступа в другом состоянии ботов. Служба единого входа Bot Frameworks будет безопасно хранить маркер от вашего имени. Если вы храните его в состоянии ботов, он может истечь или быть отозван в промежутке между поворотами.При вызове запроса из каскадного шага следует использовать маркер в шаге, следующем за запросом, а затем разрешить маркеру выйти за пределы области в конце функции.
### Использование запроса
При использовании с ботом DialogSet можно просто добавить новый экземпляр запроса в качестве именованного диалогового окна с помощью Add(Dialog). Затем можно запустить запрос из каскадного шага, используя или BeginDialogAsync(String, Object, CancellationToken)PromptAsync(String, PromptOptions, CancellationToken). Пользователю будет предложено выполнить вход при необходимости, а его маркер доступа будет передан в качестве аргумента вызывающей стороны на следующем каскадном шаге.
Конструкторы
OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Инициализирует новый экземпляр класса OAuthPrompt. |
Свойства
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() |
Создает идентификатор вычисления для диалогового окна. (Унаследовано от 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) |
Создает стек диалогов и запускает диалог, помещая его в стек. |