OAuthPrompt 클래스

정의

사용자에 게 Bot Framework SSO (Single Sign On) 서비스를 사용 하 여 로그인 하 라는 메시지를 새로 만듭니다.Creates a new prompt that asks the user to sign in using the Bot Frameworks Single Sign On (SSO) service.

public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
    inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
상속
OAuthPrompt

설명

프롬프트가 사용자의 현재 토큰을 검색 하려고 시도 하 고 사용자가 로그인 하지 않은 경우 OAuthCard 로그인 할 수 있는 단추가 포함 된를 보냅니다.The prompt will attempt to retrieve the users current token and if the user isn't signed in, it will send them an OAuthCard containing a button they can press to signin. 채널에 따라 사용자는 두 가지 가능한 로그인 흐름 중 하나를 통해 전송 됩니다.Depending on the channel, the user will be sent through one of two possible signin flows: -사용자가 로그인 하 고 SSO 서비스에서 사용자가 또는 활동을 사용 하 여 액세스 토큰을 전달 하는 자동 로그인 흐름 event 입니다 invoke .- The automatic signin flow where once the user signs in and the SSO service will forward the bot the users access token using either an event or invoke activity. -사용자가 로그인 한 후에는 SSO 서비스에서 해당 id를 확인 하는 6 자리 코드를 입력 하 라는 메시지가 표시 됩니다.- The "magic code" flow where once the user signs in they will be prompted by the SSO service to send the bot a six digit code confirming their identity. 이 코드는 표준 활동으로 전송 됩니다 message .This code will be sent as a standard message activity.

두 흐름은 모두에서 자동으로 지원 되며 주의 해야 하는 것 OAuthPromptevent 프롬프트가 대기 중일 수 있는 및 활동을 차단 하지 않기 때문입니다 invoke .Both flows are automatically supported by the OAuthPrompt and the only thing you need to be careful of is that you don't block the event and invoke activities that the prompt might be waiting on.

\*\*참고\*\*: 액세스 토큰을 bot 다른 상태로 유지 하지 않아야 합니다. \*\*Note\*\*: You should avoid persisting the access token with your bots other state. Bot Framework SSO 서비스는 사용자를 대신 하 여 토큰을 안전 하 게 저장 합니다.The Bot Frameworks SSO service will securely store the token on your behalf. 이를 봇 주에 저장 하는 경우에는 그 사이에 만료 되거나 취소 될 수 있습니다.If you store it in your bots state it could expire or be revoked in between turns.

폭포 단계 내에서 프롬프트를 호출 하는 경우 프롬프트 뒤의 단계 내에서 토큰을 사용 하 고 토큰을 함수 끝의 범위에서 벗어날 수 있습니다.When calling the prompt from within a waterfall step you should use the token within the step following the prompt and then let the token go out of scope at the end of your function.

# # 사용 프롬프트## Prompt Usage Bot와 함께 사용 하는 경우를 DialogSet 사용 하 여 프롬프트의 새 인스턴스를 명명 된 대화 상자로 간단히 추가할 수 있습니다 Add(Dialog) .When used with your bot's DialogSet you can simply add a new instance of the prompt as a named dialog using Add(Dialog). 그런 다음 또는 중 하나를 사용 하 여 폭포 단계에서 프롬프트를 시작할 수 있습니다 BeginDialogAsync(String, Object, CancellationToken) PromptAsync(String, PromptOptions, CancellationToken) .You can then start the prompt from a waterfall step using either BeginDialogAsync(String, Object, CancellationToken) or PromptAsync(String, PromptOptions, CancellationToken). 사용자에 게 필요한 경우 로그인 하 라는 메시지가 표시 되 고 해당 액세스 토큰이 호출자의 다음 폭포 단계에 인수로 전달 됩니다.The user will be prompted to signin as needed and their access token will be passed as an argument to the callers next waterfall step.

생성자

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

OAuthPrompt 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OAuthPrompt class.

속성

Id

대화의 id를 가져오거나 설정 합니다.Gets or sets id for the dialog.

(다음에서 상속됨 Dialog)
Source

Cref = "SourceRange"/의 정보를 가져옵니다 > .Gets the information of the cref="SourceRange"/>.

(다음에서 상속됨 Dialog)
TelemetryClient

로깅에 사용할를 가져오거나 설정 합니다 IBotTelemetryClient .Gets or sets the IBotTelemetryClient to use for logging.

(다음에서 상속됨 Dialog)

메서드

BeginDialogAsync(DialogContext, Object, CancellationToken)

대화 상자 스택에 대화 상자 스택에 푸시되 고 활성화 되 고 있을 때 호출 됩니다.Called when a prompt dialog is pushed onto the dialog stack and is being activated.

ContinueDialogAsync(DialogContext, CancellationToken)

사용자가 새 작업으로 회신 하는 대화 상자가 표시 되 면 호출 됩니다.Called when a prompt dialog is the active dialog and the user replied with a new activity.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

대화 상자가 종료 될 때 호출 됩니다.Called when the dialog is ending.

(다음에서 상속됨 Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

사용자의 토큰을 가져오려고 시도 합니다.Attempts to get the user's token.

GetVersion()

이 대화의 버전을 나타내는 고유 문자열을 가져옵니다.Gets a unique string which represents the version of this dialog. 사이 버전이 변경 되 면 대화 시스템에서 DialogChanged 이벤트를 내보냅니다.If the version changes between turns the dialog system will emit a DialogChanged event.

(다음에서 상속됨 Dialog)
OnComputeId()

대화에 대 한 고유 ID를 계산 합니다.Computes an unique ID for a dialog.

(다음에서 상속됨 Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

현재 대화 상자 DialogContext.emitEvent() 또는 현재 대화 상자에서 시작한 대화 상자를 사용 하 여 이벤트가 발생 했을 때 호출 됩니다.Called when an event has been raised, using DialogContext.emitEvent(), by either the current dialog or a dialog that the current dialog started.

(다음에서 상속됨 Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

이벤트가 모든 부모에 버블링 되 고 처리 되지 않은 후에 호출 됩니다.Called after an event was bubbled to all parents and wasn't handled.

(다음에서 상속됨 Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

이벤트가 부모에 버블링 되기 전에 호출 됩니다.Called before an event is bubbled to its parent.

(다음에서 상속됨 Dialog)
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken)

RecognizeTokenAsync 함수의 공유 구현입니다.Shared implementation of the RecognizeTokenAsync function. 이는 OAuthPrompt 및 Oauthprompt의 구현을 통합 하기 위해 내부적으로 사용 하기 위한 것입니다.This is intended for internal use, to consolidate the implementation of the OAuthPrompt and OAuthInput. 응용 프로그램 논리는 이러한 대화 상자 클래스를 사용 해야 합니다.Application logic should use those dialog classes.

RegisterSourceLocation(String, Int32)

지정 된 위치에 cref = "SourceRange"/를 등록 > 합니다.Registers a cref="SourceRange"/> in the provided location.

(다음에서 상속됨 Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

대화 상자에서 사용자에 게 입력을 다시 표시 해야 할 때 호출 됩니다.Called when the dialog should re-prompt the user for input.

(다음에서 상속됨 Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

자식 대화 상자가이를 완료 하 고 컨트롤을이 대화 상자로 반환 하면 호출 됩니다.Called when a child dialog completed this turn, returning control to this dialog.

(다음에서 상속됨 Dialog)
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken)

가 중의 공유 구현입니다.Shared implementation of the SendOAuthCardAsync function. 이는 OAuthPrompt 및 Oauthprompt의 구현을 통합 하기 위해 내부적으로 사용 하기 위한 것입니다.This is intended for internal use, to consolidate the implementation of the OAuthPrompt and OAuthInput. 응용 프로그램 논리는 이러한 대화 상자 클래스를 사용 해야 합니다.Application logic should use those dialog classes.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

SetCallerInfoInDialogState 함수의 공유 구현입니다.Shared implementation of the SetCallerInfoInDialogState function. 이는 OAuthPrompt 및 Oauthprompt의 구현을 통합 하기 위해 내부적으로 사용 하기 위한 것입니다.This is intended for internal use, to consolidate the implementation of the OAuthPrompt and OAuthInput. 응용 프로그램 논리는 이러한 대화 상자 클래스를 사용 해야 합니다.Application logic should use those dialog classes.

SignOutUserAsync(ITurnContext, CancellationToken)

사용자를 로그 아웃 합니다.Signs out the user.

확장 메서드

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

대화 상자 스택을 만들고 대화 상자를 시작 하 여 스택에 푸시합니다.Creates a dialog stack and starts a dialog, pushing it onto the stack.

적용 대상