다음을 통해 공유


BotFrameworkAdapter 클래스

구현

public class BotFrameworkAdapter
extends BotAdapter
implements AdapterIntegration, UserTokenProvider, ConnectorClientBuilder

서비스 엔드포인트에 봇을 연결할 수 있는 봇 어댑터입니다. 봇 어댑터는 인증 프로세스를 캡슐화하고 Bot Connector Service에서 활동을 보내고 받습니다. 봇이 작업을 받으면 어댑터는 컨텍스트 개체를 만들고, 봇의 애플리케이션 논리에 전달하고, 응답을 사용자의 채널로 다시 보냅니다.

use(Middleware middleware) 사용하여 어댑터\u2019미들웨어 컬렉션에 Middleware 개체를 추가합니다. 어댑터는 봇 미들웨어 파이프라인을 통해 들어오는 작업을 처리하고 봇\u2019논리로 전달한 다음 다시 내보낼 수 있습니다. 각 활동이 봇 내/외부로 흐르면 미들웨어의 각 조각은 봇 논리 실행 전후에 작업을 검사하거나 작업할 수 있습니다.

TurnContext Activity Bot Middleware

필드 요약

한정자 및 형식 필드 및 설명
static final java.lang.String CONNECTOR_CLIENT_KEY

커넥터클라이언트를 저장할 키입니다.

static final java.lang.String INVOKE_RESPONSE_KEY

호출응답을 저장할 키입니다.

static final java.lang.String TEAMSCONNECTOR_CLIENT_KEY

TeamsConnectorClient를 저장하는 키입니다.

생성자 요약

생성자 Description
BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

BotFrameworkAdapter(CredentialProvider withCredentialProvider)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

메서드 요약

한정자 및 형식 메서드 및 설명
protected void addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)

커넥터클라이언트를 캐시에 삽입합니다.

protected java.util.concurrent.CompletableFuture<AppCredentials> buildAppCredentials(String appId, String scope)

지정된 앱ID 및 범위에 대한 AppCredentials 개체를 만듭니다.

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

대화에 자동 관리 메시지를 보냅니다.

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

대화에 자동 관리 메시지를 보냅니다.

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

봇에서 대화로 자동 관리 메시지를 보냅니다.

java.util.concurrent.CompletableFuture<ConnectorClient> createConnectorClient(String serviceUrl, ClaimsIdentity claimsIdentity, String audience)

커넥터 클라이언트를 비동기식으로 만듭니다.

java.util.concurrent.CompletableFuture<java.lang.Void> createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback)

지정된 채널에서 대화를 만듭니다.

java.util.concurrent.CompletableFuture<java.lang.Void> createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback, ConversationReference reference)

지정된 채널에서 대화를 만듭니다.

protected java.util.concurrent.CompletableFuture<OAuthClient> createOAuthAPIClient(TurnContext turnContext, AppCredentials oAuthAppCredentials)

봇에 대한 OAuth 클라이언트를 만듭니다.

java.util.concurrent.CompletableFuture<java.lang.Void> deleteActivity(TurnContext context, ConversationReference reference)

대화에서 기존 활동을 삭제합니다.

java.util.concurrent.CompletableFuture<java.lang.Void> deleteConversationMember(TurnContextImpl context, String memberId)

현재 대화에서 멤버를 삭제합니다.

java.util.concurrent.CompletableFuture<TokenResponse> exchangeToken(TurnContext turnContext, AppCredentials oAuthAppCredentials, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

Single Sign-On과 같은 토큰 교환 작업을 수행합니다.

java.util.concurrent.CompletableFuture<TokenResponse> exchangeToken(TurnContext turnContext, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

Single Sign-On과 같은 토큰 교환 작업을 수행합니다.

java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,TokenResponse>> getAadTokens(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String[] resourceUrls, String userId)

사용자 지정된 앱자격 증명을 사용하여 구성된 연결에서 특정 리소스에 대한 Azure Active Directory 토큰을 검색합니다.

java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,TokenResponse>> getAadTokens(TurnContext context, String connectionName, String[] resourceUrls, String userId)

구성된 연결에서 특정 리소스에 대한 Azure Active Directory 토큰을 검색합니다.

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> getActivityMembers(TurnContextImpl context)

지정된 활동의 멤버를 나열합니다.

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> getActivityMembers(TurnContextImpl context, String activityId)

지정된 활동의 멤버를 나열합니다.

protected java.util.Map<java.lang.String,ConnectorClient> getConnectorClientCache()

커넥터클라이언트 캐시를 가져옵니다.

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> getConversationMembers(TurnContextImpl context)

현재 대화의 멤버를 나열합니다.

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(TurnContextImpl context)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다.

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(TurnContextImpl context, String continuationToken)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다.

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(String serviceUrl, MicrosoftAppCredentials credentials)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다.

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(String serviceUrl, MicrosoftAppCredentials credentials, String continuationToken)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다.

protected java.util.Map<java.lang.String,AppCredentials> getCredentialsCache()

자격 증명 캐시를 가져옵니다.

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName)

사용자 지정된 앱자격 증명을 사용하여 연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

봇의 앱자격 증명을 사용하여 연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, String connectionName)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, String connectionName, String userId, String finalRedirect)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

protected java.util.concurrent.CompletableFuture<ConnectorClient> getOrCreateConnectorClient(String serviceUrl, AppCredentials usingAppCredentials)

캐시에서 또는 새로 만든 커넥터클라이언트를 반환합니다.

java.util.concurrent.CompletableFuture<SignInResource> getSignInResource(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

java.util.concurrent.CompletableFuture<SignInResource> getSignInResource(TurnContext turnContext, String connectionName)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

java.util.concurrent.CompletableFuture<SignInResource> getSignInResource(TurnContext turnContext, String connectionName, String userId, String finalRedirect)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

java.util.concurrent.CompletableFuture<java.util.List<TokenStatus>> getTokenStatus(TurnContext context, AppCredentials oAuthAppCredentials, String userId, String includeFilter)

사용자 지정된 앱자격 증명을 사용하여 지정된 사용자에 대해 구성된 각 연결의 토큰 상태를 검색합니다.

java.util.concurrent.CompletableFuture<java.util.List<TokenStatus>> getTokenStatus(TurnContext context, String userId, String includeFilter)

지정된 사용자에 대해 구성된 각 연결의 토큰 상태를 검색합니다.

java.util.concurrent.CompletableFuture<TokenResponse> getUserToken(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String magicCode)

사용자 지정된 앱자격 증명을 사용하여 로그인 흐름에 있는 사용자의 토큰을 검색하려고 시도합니다.

java.util.concurrent.CompletableFuture<TokenResponse> getUserToken(TurnContext context, String connectionName, String magicCode)

로그인 흐름에 있는 사용자의 토큰을 검색하려고 시도합니다.

protected static java.lang.String keyForAppCredentials(String appId, String scope)

앱 자격 증명 캐시에 액세스하기 위한 키를 생성합니다.

protected static java.lang.String keyForConnectorClient(String serviceUrl, String appId, String scope)

커넥터 클라이언트 캐시에 액세스하기 위한 키를 생성합니다.

java.util.concurrent.CompletableFuture<InvokeResponse> processActivity(ClaimsIdentity identity, Activity activity, BotCallbackHandler callback)

턴 컨텍스트를 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

java.util.concurrent.CompletableFuture<InvokeResponse> processActivity(String authHeader, Activity activity, BotCallbackHandler callback)

턴 컨텍스트를 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

java.util.concurrent.CompletableFuture<ResourceResponse[]> sendActivities(TurnContext context, List<Activity> activities)

대화에 활동을 보냅니다.

java.util.concurrent.CompletableFuture<java.lang.Void> signOutUser(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId)

사용자 지정된 앱자격 증명을 사용하여 토큰 서버로 사용자를 로그아웃합니다.

java.util.concurrent.CompletableFuture<java.lang.Void> signOutUser(TurnContext context, String connectionName, String userId)

토큰 서버를 사용하여 사용자를 로그아웃합니다.

java.util.concurrent.CompletableFuture<ResourceResponse> updateActivity(TurnContext context, Activity activity)

대화의 기존 활동을 바꿉니다.

BotFrameworkAdapter use(Middleware middleware)

어댑터의 파이프라인에 미들웨어를 추가합니다.

다음에서 상속된 메서드 BotAdapter

다음에서 상속된 메서드 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

필드 세부 정보

CONNECTOR_CLIENT_KEY

public static final String CONNECTOR_CLIENT_KEY

ConnectorClient를 저장할 키입니다.

INVOKE_RESPONSE_KEY

public static final String INVOKE_RESPONSE_KEY

InvokeResponse를 저장할 키입니다.

TEAMSCONNECTOR_CLIENT_KEY

public static final String TEAMSCONNECTOR_CLIENT_KEY

TeamsConnectorClient를 저장하는 키입니다. 테스트 전용입니다.

생성자 세부 정보

BotFrameworkAdapter

public BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withCredentials - 사용할 자격 증명입니다.
withAuthConfig - 인증 구성입니다.
withChannelProvider - 채널 공급자입니다.
withRetryStrategy - HTTP 작업을 다시 시도하기 위한 정책을 다시 시도합니다.
withMiddleware - 어댑터에 처음 추가할 미들웨어입니다.

BotFrameworkAdapter

public BotFrameworkAdapter(CredentialProvider withCredentialProvider)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withCredentialProvider - 자격 증명 공급자입니다.

BotFrameworkAdapter

public BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withCredentialProvider - 자격 증명 공급자입니다.
withAuthConfig - 인증 구성입니다.
withChannelProvider - 채널 공급자입니다.
withRetryStrategy - HTTP 작업을 다시 시도하기 위한 정책을 다시 시도합니다.
withMiddleware - 어댑터에 처음 추가할 미들웨어입니다.

BotFrameworkAdapter

public BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

자격 증명 공급자를 사용하여 BotFrameworkAdapter 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withCredentialProvider - 자격 증명 공급자입니다.
withChannelProvider - 채널 공급자입니다.
withRetryStrategy - HTTP 작업을 다시 시도하기 위한 정책을 다시 시도합니다.
withMiddleware - 어댑터에 처음 추가할 미들웨어입니다.

메서드 세부 정보

addConnectorClientToCache

protected void addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)

ConnectorClient를 캐시에 삽입합니다. 단위 테스트 전용입니다.

매개 변수:

serviceUrl - 서비스 URL
appId - 앱이
scope - 범위
client - 삽입할 ConnectorClient입니다.

buildAppCredentials

protected CompletableFuture buildAppCredentials(String appId, String scope)

지정된 appId 및 범위에 대한 AppCredentials 개체를 만듭니다.

매개 변수:

appId - appId입니다.
scope - 범위입니다.

반환:

AppCredentials 개체입니다.

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

대화에 자동 관리 메시지를 보냅니다.

대화에 메시지를 사전에 보내려면 이 메서드를 호출합니다. 대부분의 채널에서는 봇이 사용자에게 활동을 보내기 전에 사용자가 봇과 대화를 시작해야 합니다.

재정의:

BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

매개 변수:

claimsIdentity - 대화에 대한 ClaimsIdentity 참조입니다.
reference - 계속할 대화에 대한 참조입니다.
callback - 결과 봇 턴을 호출할 메서드입니다.

반환:

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

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

대화에 자동 관리 메시지를 보냅니다.

대화에 메시지를 사전에 보내려면 이 메서드를 호출합니다. 대부분의 채널에서는 봇이 사용자에게 활동을 보내기 전에 사용자가 봇과 대화를 시작해야 합니다.

재정의:

BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

매개 변수:

claimsIdentity - 대화에 대한 ClaimsIdentity 참조입니다.
reference - 계속할 대화에 대한 참조입니다.
audience - 자동 관리 메시지의 받는 사람을 나타내는 값입니다.
callback - 결과 봇 턴을 호출할 메서드입니다.

반환:

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

continueConversation

public CompletableFuture continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

봇에서 대화로 자동 관리 메시지를 보냅니다.

대화에 메시지를 사전에 보내려면 이 메서드를 호출합니다. 대부분의 채널에서는 봇이 사용자에게 활동을 보내기 전에 사용자가 봇과 대화를 시작해야 합니다.

이 오버로드는 BotId를 전달하도록 요구하여 노드 구현과 다릅니다. .Net 코드를 사용하면 노드에서 지원하지 않는 단일 어댑터에서 여러 봇을 호스트할 수 있습니다.

processActivity(String authHeader, Activity activity, BotCallbackHandler callback) runPipeline(TurnContext context, BotCallbackHandler callback)

재정의:

BotFrameworkAdapter.continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

매개 변수:

botAppId - 봇의 애플리케이션 ID입니다. 포털 등록에서 반환되는 appId이며 일반적으로 appSettings.json"MicrosoftAppId" 매개 변수에 있습니다.
reference - 계속할 대화에 대한 참조입니다.
callback - 결과 봇 턴을 호출할 메서드입니다.

반환:

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

createConnectorClient

public CompletableFuture createConnectorClient(String serviceUrl, ClaimsIdentity claimsIdentity, String audience)

커넥터 클라이언트를 비동기식으로 만듭니다.

매개 변수:

serviceUrl - 서비스 URL입니다.
claimsIdentity - 클레임 ID입니다.
audience - 커넥터의 대상 그룹입니다.

반환:

ConnectorClient 인스턴스입니다.

createConversation

public CompletableFuture createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback)

지정된 채널에서 대화를 만듭니다. 대화를 시작하려면 봇이 해당 채널의 계정 정보와 사용자의 계정 정보를 알고 있어야 합니다. 대부분의 채널은 직접 메시지(비그룹) 대화 시작만 지원합니다.

어댑터는 채널에서 새 대화를 만든 다음 미들웨어 파이프라인을 통해 conversationUpdate 작업을 callback 메서드로 보냅니다.

지정된 사용자와 대화가 설정된 경우 활동 Activity#getConversation ID에 새 대화의 ID가 포함됩니다.

매개 변수:

channelId - 채널의 ID입니다.
serviceUrl - 채널의 서비스 URL 엔드포인트입니다.
credentials - 봇에 대한 애플리케이션 자격 증명입니다.
conversationParameters - 대화를 만드는 데 사용할 대화 정보입니다.
callback - 결과 봇 턴을 호출할 메서드입니다.

반환:

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

createConversation


public CompletableFuture createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback, ConversationReference reference)

지정된 채널에서 대화를 만듭니다. 대화를 시작하려면 봇이 해당 채널의 계정 정보와 사용자의 계정 정보를 알고 있어야 합니다. 대부분의 채널은 직접 메시지(비그룹) 대화 시작만 지원합니다.

어댑터는 채널에서 새 대화를 만든 다음 미들웨어 파이프라인을 통해 conversationUpdate 작업을 callback 메서드로 보냅니다.

지정된 사용자와 대화가 설정된 경우 활동 Activity#getConversation ID에 새 대화의 ID가 포함됩니다.

매개 변수:

channelId - 채널의 ID입니다.
serviceUrl - 채널의 서비스 URL 엔드포인트입니다.
credentials - 봇에 대한 애플리케이션 자격 증명입니다.
conversationParameters - 대화를 만드는 데 사용할 대화 정보입니다.
callback - 결과 봇 턴을 호출할 메서드입니다.
reference - 테넌트를 포함하는 대화 참조입니다.

반환:

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

createOAuthAPIClient

protected CompletableFuture createOAuthAPIClient(TurnContext turnContext, AppCredentials oAuthAppCredentials)

봇에 대한 OAuth 클라이언트를 만듭니다.

참고: 단위 테스트가 모의 OAuthClient를 제공하도록 재정의할 수 있도록 보호됩니다.

매개 변수:

turnContext - 현재 턴의 컨텍스트 개체입니다.
oAuthAppCredentials - 클라이언트를 만들 때 사용할 자격 증명입니다. null이면 기본 자격 증명이 사용됩니다.

반환:

봇에 대한 OAuth 클라이언트입니다.

deleteActivity

public CompletableFuture deleteActivity(TurnContext context, ConversationReference reference)

대화에서 기존 활동을 삭제합니다.

재정의:

BotFrameworkAdapter.deleteActivity(TurnContext context, ConversationReference reference)

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.
reference - 삭제할 활동에 대한 대화 참조입니다.

반환:

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

deleteConversationMember

public CompletableFuture deleteConversationMember(TurnContextImpl context, String memberId)

현재 대화에서 멤버를 삭제합니다.

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.
memberId - 대화에서 삭제할 멤버의 ID

반환:

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

exchangeToken

public CompletableFuture exchangeToken(TurnContext turnContext, AppCredentials oAuthAppCredentials, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

Single Sign-On과 같은 토큰 교환 작업을 수행합니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId - 토큰과 연결된 사용자 ID입니다.
exchangeRequest - 교환 요청 세부 정보( 교환할 토큰 또는 교환할 URI)입니다.

반환:

작업이 완료되면 교환된 토큰이 반환됩니다.

exchangeToken

public CompletableFuture exchangeToken(TurnContext turnContext, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

Single Sign-On과 같은 토큰 교환 작업을 수행합니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId - 토큰과 연결된 사용자 ID입니다.
exchangeRequest - 교환 요청 세부 정보( 교환할 토큰 또는 교환할 URI)입니다.

반환:

작업이 완료되면 교환된 토큰이 반환됩니다.

getAadTokens

public CompletableFuture> getAadTokens(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String[] resourceUrls, String userId)

사용자 지정된 AppCredentials를 사용하여 구성된 연결에서 특정 리소스에 대한 Azure Active Directory 토큰을 검색합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
connectionName - 이 봇으로 구성된 Azure Active Directory 연결의 이름입니다.
resourceUrls - 토큰을 검색할 리소스 URL 목록입니다.
userId - 토큰을 검색할 사용자 ID입니다. null을 전달하는 경우 userId는 TurnContext의 작업에서 가져옵니다.

반환:

해당 TokenResponse에 대한 resourceUrl 사전입니다.

getAadTokens

public CompletableFuture> getAadTokens(TurnContext context, String connectionName, String[] resourceUrls, String userId)

구성된 연결에서 특정 리소스에 대한 Azure Active Directory 토큰을 검색합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 이 봇으로 구성된 Azure Active Directory 연결의 이름입니다.
resourceUrls - 토큰을 검색할 리소스 URL 목록입니다.
userId - 토큰을 검색할 사용자 ID입니다. null을 전달하는 경우 userId는 TurnContext의 작업에서 가져옵니다.

반환:

resourceUrl을 해당 TokenResponse매핑합니다.

getActivityMembers

public CompletableFuture> getActivityMembers(TurnContextImpl context)

지정된 활동의 멤버를 나열합니다.

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.

반환:

활동의 멤버 목록

getActivityMembers

public CompletableFuture> getActivityMembers(TurnContextImpl context, String activityId)

지정된 활동의 멤버를 나열합니다.

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.
activityId - (선택 사항) 열거할 활동 ID입니다. 지정하지 않으면 현재 활동 ID가 사용됩니다.

반환:

활동의 멤버 목록

getConnectorClientCache

protected Map getConnectorClientCache()

ConnectorClient 캐시를 가져옵니다. 단위 테스트용입니다.

반환:

ConnectorClient 캐시입니다.

getConversationMembers

public CompletableFuture> getConversationMembers(TurnContextImpl context)

현재 대화의 멤버를 나열합니다.

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.

반환:

현재 대화의 멤버 목록

getConversations

public CompletableFuture getConversations(TurnContextImpl context)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다. 채널 서버는 페이지에 결과를 반환하고 각 페이지에는 서버에서 결과의 다음 페이지를 가져오는 데 사용할 수 있는 'continuationToken'이 포함됩니다. 이 오버로드는 표준 작업 처리 중에 호출될 수 있으며, 이 시점에서 현재 활동 처리 파이프라인의 일부인 봇의 서비스 URL 및 자격 증명이 사용됩니다.

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.

반환:

현재 대화의 멤버 목록

getConversations

public CompletableFuture getConversations(TurnContextImpl context, String continuationToken)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다. 채널 서버는 페이지에 결과를 반환하고 각 페이지에는 서버에서 결과의 다음 페이지를 가져오는 데 사용할 수 있는 'continuationToken'이 포함됩니다. 이 오버로드는 표준 작업 처리 중에 호출될 수 있으며, 이 시점에서 현재 활동 처리 파이프라인의 일부인 봇의 서비스 URL 및 자격 증명이 사용됩니다.

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.
continuationToken - 결과의 이전 페이지의 연속 토큰입니다.

반환:

현재 대화의 멤버 목록

getConversations

public CompletableFuture getConversations(String serviceUrl, MicrosoftAppCredentials credentials)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다. 채널 서버는 페이지에 결과를 반환하고 각 페이지에는 서버에서 결과의 다음 페이지를 가져오는 데 사용할 수 있는 'continuationToken'이 포함됩니다.

매개 변수:

serviceUrl - 쿼리할 채널 서버의 URL입니다. context.activity.serviceUrl검색할 수 있습니다.
credentials - 봇이 .services()에 연결하는 데 필요한 자격 증명입니다.

반환:

현재 대화의 멤버 목록

이 오버로드는 봇의 ServiceUrl 및 자격 증명만 필요하므로 대화 컨텍스트 외부에서 호출할 수 있습니다.

getConversations

public CompletableFuture getConversations(String serviceUrl, MicrosoftAppCredentials credentials, String continuationToken)

이 봇이 지정된 채널 서버에 참여한 대화를 나열합니다. 채널 서버는 페이지에 결과를 반환하고 각 페이지에는 서버에서 결과의 다음 페이지를 가져오는 데 사용할 수 있는 'continuationToken'이 포함됩니다. 이 오버로드는 봇의 ServiceUrl 및 자격 증명만 필요하므로 대화 컨텍스트 외부에서 호출할 수 있습니다.

매개 변수:

serviceUrl - 쿼리할 채널 서버의 URL입니다. context.activity.serviceUrl검색할 수 있습니다.
credentials - 봇이 .services()에 연결하는 데 필요한 자격 증명입니다.
continuationToken - 결과의 이전 페이지의 연속 토큰입니다.

반환:

현재 대화의 멤버 목록

getCredentialsCache

protected Map getCredentialsCache()

AppCredentials 캐시를 가져옵니다. 단위 테스트용입니다.

반환:

AppCredentials 캐시입니다.

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName)

사용자 지정된 AppCredentials를 사용하여 연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
connectionName - 사용할 인증 연결의 이름입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.
     If the task completes successfully, the result contains the raw
     signin link.

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

봇의 AppCredentials를 사용하여 연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials
connectionName - 사용할 인증 연결의 이름입니다.
userId - 토큰과 연결할 사용자 ID입니다.
finalRedirect - OAuth 흐름이 리디렉션할 최종 URL입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.
     If the task completes successfully, the result contains the raw
     signin link.

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, String connectionName)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.

반환:

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

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, String connectionName, String userId, String finalRedirect)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId - 토큰과 연결할 사용자 ID입니다.
finalRedirect - OAuth 흐름이 리디렉션할 최종 URL입니다.

반환:

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

getOrCreateConnectorClient

protected CompletableFuture getOrCreateConnectorClient(String serviceUrl, AppCredentials usingAppCredentials)

캐시에서 또는 새로 만든 ConnectorClient를 반환합니다.

참고: 모의 ConnectorClient를 제공하기 위해 단위 테스트가 이를 재정의할 수 있도록 보호됩니다.

매개 변수:

serviceUrl - 클라이언트의 서비스 URL입니다.
usingAppCredentials - (선택 사항) 사용할 AppCredentials입니다.

반환:

ConnectorClient를 반환하는 작업입니다.

getSignInResource

public CompletableFuture getSignInResource(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId - 토큰과 연결할 사용자 ID입니다.
finalRedirect - OAuth 흐름이 리디렉션할 최종 URL입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.
     If the task completes successfully, the result contains the raw
     signin link.

getSignInResource

public CompletableFuture getSignInResource(TurnContext turnContext, String connectionName)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.
     If the task completes successfully, the result contains the raw
     signin link.

getSignInResource

public CompletableFuture getSignInResource(TurnContext turnContext, String connectionName, String userId, String finalRedirect)

연결 이름에 대한 로그인을 위해 사용자에게 보낼 원시 로그인 링크를 가져옵니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId - 토큰과 연결할 사용자 ID입니다.
finalRedirect - OAuth 흐름이 리디렉션할 최종 URL입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.
     If the task completes successfully, the result contains the raw
     signin link.

getTokenStatus

public CompletableFuture> getTokenStatus(TurnContext context, AppCredentials oAuthAppCredentials, String userId, String includeFilter)

사용자 지정된 AppCredentials를 사용하여 지정된 사용자에 대해 구성된 각 연결의 토큰 상태를 검색합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
userId - 토큰 상태가 검색되는 사용자 ID입니다.
includeFilter - 포함할 연결의 선택적 쉼표로 구분된 목록입니다. 비어 있으면 구성된 모든 연결에 대한 토큰 상태가 반환됩니다.

반환:

TokenStatus 목록입니다.

getTokenStatus

public CompletableFuture> getTokenStatus(TurnContext context, String userId, String includeFilter)

지정된 사용자에 대해 구성된 각 연결의 토큰 상태를 검색합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
userId - 토큰 상태가 검색되는 사용자 ID입니다.
includeFilter - 포함할 연결의 선택적 쉼표로 구분된 목록입니다. 비어 있으면 구성된 모든 연결에 대한 토큰 상태가 반환됩니다.

반환:

TokenStatus배열입니다.

getUserToken

public CompletableFuture getUserToken(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String magicCode)

사용자 지정된 AppCredentials를 사용하여 로그인 흐름에 있는 사용자의 토큰을 검색하려고 시도합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
connectionName - 사용할 인증 연결의 이름입니다.
magicCode - (선택 사항) 선택적 사용자가 유효성을 검사할 코드를 입력했습니다.

반환:

토큰 응답입니다.

getUserToken

public CompletableFuture getUserToken(TurnContext context, String connectionName, String magicCode)

로그인 흐름에 있는 사용자의 토큰을 검색하려고 시도합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.
magicCode - (선택 사항) 선택적 사용자가 유효성을 검사할 코드를 입력했습니다.

반환:

토큰 응답

keyForAppCredentials

protected static String keyForAppCredentials(String appId, String scope)

앱 자격 증명 캐시에 액세스하기 위한 키를 생성합니다.

매개 변수:

appId - appId
scope - 범위입니다.

반환:

캐시 키

keyForConnectorClient

protected static String keyForConnectorClient(String serviceUrl, String appId, String scope)

커넥터 클라이언트 캐시에 액세스하기 위한 키를 생성합니다.

매개 변수:

serviceUrl - 서비스 URL
appId - 앱이
scope - 범위

반환:

캐시 키입니다.

processActivity

public CompletableFuture processActivity(ClaimsIdentity identity, Activity activity, BotCallbackHandler callback)

턴 컨텍스트를 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

매개 변수:

identity - 요청에 대한 ClaimsIdentity.
activity - 들어오는 활동입니다.
callback - 어댑터 미들웨어 파이프라인의 끝에서 실행할 코드입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다. 작업 유형이 'Invoke'이고 해당 키(channelId + activityId)가 발견되면 InvokeResponse가 반환되고, 그렇지 않으면 null이 반환됩니다.

processActivity

public CompletableFuture processActivity(String authHeader, Activity activity, BotCallbackHandler callback)

턴 컨텍스트를 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

매개 변수:

authHeader - 요청의 HTTP 인증 헤더입니다.
activity - 들어오는 활동입니다.
callback - 어댑터 미들웨어 파이프라인의 끝에서 실행할 코드입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다. 작업 유형이 'Invoke'이고 해당 키(channelId + activityId)가 발견되면 InvokeResponse가 반환되고, 그렇지 않으면 null이 반환됩니다.

sendActivities

public CompletableFuture sendActivities(TurnContext context, List activities)

대화에 활동을 보냅니다.

재정의:

BotFrameworkAdapter.sendActivities(TurnContext context, List<Activity> activities)

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.
activities - 보낼 활동입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다. 작업이 성공적으로 전송되면 작업 결과에는 수신 채널이 활동에 할당한 ID를 포함하는 ResourceResponse 개체의 배열이 포함됩니다.
     <xref uid="com.microsoft.bot.builder.TurnContext.onSendActivities(com.microsoft.bot.builder.SendActivitiesHandler)" data-throw-if-not-resolved="false" data-raw-source="TurnContext#onSendActivities(SendActivitiesHandler)"></xref>

signOutUser

public CompletableFuture signOutUser(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId)

사용자 지정된 AppCredentials를 사용하여 토큰 서버로 사용자를 로그아웃합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
oAuthAppCredentials - OAuth용 AppCredentials입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId - 로그아웃할 사용자의 사용자 ID입니다.

반환:

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

signOutUser

public CompletableFuture signOutUser(TurnContext context, String connectionName, String userId)

토큰 서버를 사용하여 사용자를 로그아웃합니다.

매개 변수:

context - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
connectionName - 사용할 인증 연결의 이름입니다.
userId

반환:

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

updateActivity

public CompletableFuture updateActivity(TurnContext context, Activity activity)

대화의 기존 활동을 바꿉니다.

재정의:

BotFrameworkAdapter.updateActivity(TurnContext context, Activity activity)

매개 변수:

context - 순서에 대한 컨텍스트 개체입니다.
activity - 새 대체 작업입니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다. 작업이 성공적으로 전송되면 작업 결과에는 수신 채널이 작업에 할당한 ID를 포함하는 ResourceResponse 개체가 포함됩니다.

이를 호출하기 전에 대체 활동의 ID를 바꿀 활동의 ID로 설정합니다. onUpdateActivity(UpdateActivityHandler handler)

use

public BotFrameworkAdapter use(Middleware middleware)

어댑터의 파이프라인에 미들웨어를 추가합니다. 미들웨어는 초기화 시 어댑터에 추가됩니다. 각 턴에 대해 어댑터는 추가한 순서대로 미들웨어를 호출합니다.

재정의:

BotFrameworkAdapter.use(Middleware middleware)

매개 변수:

middleware - 추가할 미들웨어입니다.

반환:

업데이트된 어댑터 개체입니다.

적용 대상