setAuthTokenProvider

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

인증 토큰 공급자를 설정합니다.

인증 토큰 공급자 함수는 콜백 함수를 매개 변수로 사용하여 호출될 때 유효한 JWT(JSON 웹 토큰) 문자열을 인수로 사용하여 콜백 함수를 호출합니다.
이 메서드는 매개 변수의 authTokenProvider 값이 함수가 아닌 경우 오류를 발생시킵니다.

중요합니다

  • JWT 토큰의 페이로드에서 key에 제공된 lwicontexts 값은 직렬화된 사용자 정의 컨텍스트여야 합니다.
  • 사용자 지정 컨텍스트는 키/값 쌍의 컬렉션입니다. 모든 키에 대해 기본 값만 허용됩니다.
  • 사용자 지정 컨텍스트의 키는 Customer Service용 옴니채널에서 연결된 작업 스트림에 대해 생성된 컨텍스트 변수에 해당해야 합니다.
  • 인증 토큰 공급자는 새 채팅을 시작할 때 라이브 채팅 위젯에 의해 호출됩니다.

비고

라이브 채팅 SDK 메서드는 lcw:ready 이벤트 가 발생한 후에 호출해야 합니다. window 개체에 고유한 이벤트 수신기를 추가하여 이 이벤트를 수신할 수 있습니다.

이 SDK는 위젯에 대해 인증이 활성화된 경우에만 적용됩니다. 위젯에 대한 인증을 활성화하려면 채팅 인증 설정 만들기를 참조하세요.

Syntax

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

매개 변수

매개 변수 유형 Description
authToken공급자 기능 콜백 함수를 인수로 호출할 때 JWT 토큰을 가져오고 JWT 토큰을 인수로 사용하여 콜백 함수를 호출하는 함수

반환 값

None

Example

샘플 토큰 페이로드

{
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
}

비고

위의 페이로드에서 key에 lwicontexts 해당하는 값은 직렬화된 사용자 지정 컨텍스트여야 합니다. 직렬화된 사용자 지정 컨텍스트의 키 msdyn_cartvalue 및 msdyn_isvip 는 Customer Service용 옴니채널에서 연결된 작업 스트림에 대해 생성된 컨텍스트 변수에 해당합니다.

let payloadToEncrypt = {
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
};

function convertToJwtToken(payloadToEncrypt){
    // Ideally, you call your service to convert the payload to a valid JWT token
    return Promise.resolve("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4N2I0ZDA2Yy1hYmMyLWU4MTEtYTliMC0wMDBkM2ExMGUwOWUiLCJsd2ljb250ZXh0cyI6IntcIm1zZHluX2NhcnR2YWx1ZVwiOlwiMTAwMDBcIiwgXCJtc2R5bl9pc3ZpcFwiOlwiZmFsc2VcIn0iLCJpYXQiOjE1NDI2MjIwNzEsImlzcyI6ImNvbnRvc29oZWxwLmNvbSIsImV4cCI6MTU0MjYyNTY3MiwibmJmIjoxNTQyNjIyMDcyfQ.r37z1M5rMyRYMOJ-rhyTRYFOgvl9N7KvTMueSFPkiuM");
}

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// Sets the auth-token provider
// Throws error if authTokenProvider is not a function
    convertToJwtToken(payloadToEncrypt).then(function (jwtToken){
        Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(function authTokenProvider(callback){
            callback(jwtToken);
        });
    });
});

오류 코드

이 메서드에서는 다음과 같은 오류가 발생할 수 있습니다.

오류 코드 오류 메시지
2 인증 토큰 공급자 메서드 실행 실패
3 인증 토큰 공급자가 토큰을 제공하지 않음
4 잘못된 토큰을 제공한 인증 토큰 공급자

라이브 채팅 SDK에 대한 JavaScript API 참조