setBotAuthTokenProvider

Customer Service용 옴니채널은 Dynamics 365 Customer Service Enterprise의 기능을 확장하는 기능 모음을 제공하여 조직이 디지털 메시징 채널을 통해 고객과 즉시 연결하고 참여할 수 있도록 합니다. Customer Service용 옴니채널에 액세스하려면 추가 라이선스가 필요합니다. 자세한 내용은 Dynamics 365 Customer Service 가격 책정 개요Dynamics 365 Customer Service 요금제 페이지를 참조하십시오.

봇 인증 토큰 공급자 함수는 콜백 함수를 매개 변수로 사용하여 호출될 때 봇에 토큰을 보내기 위해 반환 botAuthUrl하고 콜백 함수를 호출하여 로그인 카드 표시 유형을 설정합니다.

Syntax

Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(authTokenProvider);

매개 변수

매개 변수 유형 Description
authToken공급자 기능 콜백 함수를 매개 변수로 사용하여 호출할 때 봇 botAuthUrl 에 토큰을 보내고 콜백 함수를 호출하여 로그인 카드 표시 유형을 설정하는 함수입니다.

반환 값

봇 인증 URL.

Example

다음은 Single Sign-On 중에 Azure 또는 Copilot Studio 봇에 인증 토큰을 전달하는 방법을 보여주는 코드 샘플입니다.

const signInIds = [];
window.Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(async (botTokenUrl, callback) => {
  const urlSearchParams = new URLSearchParams(botTokenUrl);
  const signInId = urlSearchParams.get("state");

  if (signInIds.includes(signInId)) { // Ignore authenticated sign-in cards
    callback({show: false});  // Hide card
    return;
  }

  signInIds.push(signInId);

  const authUrl = ""; // Customer's Authentication API
  const authResponse = await fetch(authUrl, method: "POST"});
  const {token} = authResponse;  // Customer's Auth Token

  const data = {
    token: "token",
    type: "TokenExchangeRequest"
  };

  const payload = {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify(data)
  };

  try {
    const botAuthResponse = await fetch(botTokenUrl, payload); // Posts Auth Token to Bot directly
    
    // Sign in through Bot is successful
    if (botAuthResponse.status === 200) {
      signInIds.push(signInId); // Track authenticated sign-in card
      callback({show: false}); // Hide card
    }

    if (botAuthResponse.status === 404 || botAuthResponse.status == 202) {
      callback({show: false}); // Hide card
      return;
    } else {
      // Other condition handling    
    }

    return;
  } catch (error) {
  
  }

  callback({show: true});  // Show sign-in card by default
});

라이브 채팅 SDK에 대한 JavaScript API 참조
라이브 채팅에서 Single Sign-On 중에 봇에 인증 토큰 전달