다음을 통해 공유


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_cartvaluemsdyn_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 참조