OAuthPrompt 클래스

public class OAuthPrompt
extends Dialog

Bot Frameworks SSO(Single Sign On) 서비스를 사용하여 로그인하도록 사용자에게 요청하는 새 프롬프트를 만듭니다. 프롬프트가 사용자에게 현재 토큰을 검색하려고 시도하고 사용자가 로그인하지 않은 경우 로그인하기 위해 누를 수 있는 단추가 포함된 'OAuthCard'를 보냅니다. 채널에 따라 사용자는 두 개의 가능한 로그인 흐름 중 하나를 통해 전송됩니다. - 사용자가 로그인하고 SSO 서비스가 'event' 또는 'invoke' 활동을 사용하여 봇 사용자 액세스 토큰을 전달하는 자동 로그인 흐름입니다. 사용자가 로그인하면 SSOservice에서 봇에 ID를 확인하는 6자리 코드를 보내라는 메시지가 표시되는 "매직 코드" 흐름입니다. 이 코드는 표준 '메시지' 활동으로 전송됩니다. 두 흐름 모두 'OAuthPrompt'에서 자동으로 지원되며, 주의해야 할 유일한 방법은 프롬프트가 대기할 수 있는 '이벤트' 및 '호출' 활동을 차단하지 않는다는 것입니다. **참고**: 봇의 다른 상태로 액세스 토큰을 유지하지 않아야 합니다. Bot FrameworksSSO 서비스는 사용자 대신 토큰을 안전하게 저장합니다. 봇에 저장하는 경우 stateit가 만료되거나 턴 사이에 해지될 수 있습니다. 폭포 단계 내에서 프롬프트를 호출할 때 프롬프트를 단계별 실행 내에서 토큰을 사용한 다음, 함수가 끝날 때 토큰이 범위를 벗어나도록 해야 합니다.

생성자 요약

생성자 Description
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)

Recognize토큰 함수의 공유 구현입니다.

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 - 선택 사항으로, 시작 중인 프롬프트에 전달할 추가 정보입니다.

반환:

동기 연산을 나타내는 CompletableFuture. 작업이 성공하면 프롬프트가 턴을 처리한 후에도 프롬프트가 여전히 활성 상태인지 여부를 나타냅니다.

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

프롬프트 대화 상자가 활성 대화이고 사용자가 새 활동으로 회신할 때 호출됩니다.

재정의:

OAuthPrompt.continueDialog(DialogContext dc)

매개 변수:

dc - 현재 대화 전환에 대한 대화 컨텍스트입니다.

반환:

동기 연산을 나타내는 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.

반환:

동기 연산의 결과를 나타내는 CompletableFuture.

setCallerInfoInDialogState

public static void setCallerInfoInDialogState(Map state, TurnContext context)

SetCallerInfoInDialogState 함수의 공유 구현입니다. 이는 OAuthPrompt 및 OAuthInput의 구현을 통합하기 위해 내부 용도로 사용됩니다. 애플리케이션 논리는 이러한 대화 상자 클래스를 사용해야 합니다.

매개 변수:

state - 대화 상자 상태입니다.
context - TurnContext.

signOutUser

public CompletableFuture signOutUser(TurnContext turnContext)

사용자를 로그아웃합니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

적용 대상