setAuthTokenProvider

Bán hàng đa kênh cho Customer Service cung cấp một bộ khả năng nâng sức mạnh của Dynamics 365 Customer Service Enterprise để cho phép các tổ chức kết nối và tương tác với khách hàng ngay tức thì trên các kênh nhắn tin kỹ thuật số. Cần có giấy phép bổ sung để truy cập Bán hàng đa kênh cho Customer Service. Để biết thêm thông tin, hãy xem các trang Tổng quan về giá của Dynamics 365 Customer Service và Gói giá của Dynamics 365 Customer Service.

Đặt nhà cung cấp mã thông báo xác thực.

Hàm nhà cung cấp mã thông báo xác thực, khi được gọi với hàm gọi lại làm tham số, sẽ gọi hàm gọi lại với chuỗi Mã thông báo web JSON (JWT) hợp lệ làm đối số.
Phương thức này gây ra lỗi nếu giá trị của authTokenProvider tham số không phải là hàm.

Quan trọng

  • Trong tải trọng của mã thông báo JWT, giá trị được cung cấp cho lwicontexts khóa phải là ngữ cảnh tùy chỉnh được tuần tự.
  • Ngữ cảnh tùy chỉnh là một tập hợp các cặp khóa/giá trị. Chỉ các giá trị nguyên thủy mới được phép cho bất kỳ khóa nào.
  • Các khóa của ngữ cảnh tùy chỉnh phải tương ứng với các biến ngữ cảnh được tạo cho luồng công việc được liên kết trong Bán hàng đa kênh cho Customer Service.
  • Nhà cung cấp mã thông báo xác thực sẽ được gọi bởi tiện ích trò chuyện trực tiếp khi bắt đầu một cuộc trò chuyện mới.

Lưu ý

Các phương thức SDK live chat sẽ được gọi sau khi sự kiện lcw:ready được đưa ra. Bạn có thể lắng nghe sự kiện này bằng cách thêm trình nghe sự kiện của riêng bạn trên đối tượng cửa sổ.

SDK này chỉ áp dụng nếu xác thực được bật cho tiện ích. Để bật xác thực cho tiện ích của bạn, hãy xem Tạo cài đặt xác thực trò chuyện.

Cú pháp

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

Thông số

Tham số Type Description
authTokenProvider Chức năng Hàm mà khi được gọi với một hàm gọi lại làm đối số, sẽ tìm nạp mã thông báo JWT và gọi hàm gọi lại với mã thông báo JWT làm đối số của nó

Giá trị trả về

Không ai

Ví dụ

Tải trọng mã thông báo mẫu

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

Lưu ý

Trong tải trọng trên, giá trị tương ứng với lwicontexts key phải là ngữ cảnh tùy chỉnh được tuần tự. Các khóa msdyn_cartvalue và msdyn_isvip trong ngữ cảnh tùy chỉnh được tuần tự hóa tương ứng với các biến ngữ cảnh được tạo cho luồng công việc được liên kết trong Bán hàng đa kênh cho 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);
        });
    });
});

Mã lỗi

Các lỗi sau có thể xảy ra với phương pháp này.

Mã lỗi Thông báo lỗi
2 Thực thi phương thức cung cấp mã thông báo xác thực không thành công
3 Nhà cung cấp mã thông báo xác thực không cung cấp bất kỳ mã thông báo nào
Tệp 4 Nhà cung cấp mã thông báo xác thực đã cung cấp mã thông báo không hợp lệ

Tài liệu tham khảo API JavaScript cho SDK trò chuyện trực tiếp