Bagikan melalui


setAuthTokenProvider

Multisaluran untuk Customer Service menawarkan serangkaian kemampuan yang memperluas kekuatan Dynamics 365 Customer Service Enterprise untuk memungkinkan organisasi terhubung dan berinteraksi secara instan dengan pelanggan mereka di seluruh saluran olahpesan digital. Lisensi tambahan diperlukan untuk mengakses Multisaluran untuk Customer Service. Untuk informasi selengkapnya, lihat Ikhtisar harga Dynamics 365 Customer Service dan halaman Paket harga Dynamics 365 Customer Service.

Mengatur penyedia token autentikasi.

Fungsi penyedia token autentikasi, ketika dipanggil dengan fungsi callback sebagai parameter, memanggil fungsi callback dengan string JSON Web Token (JWT) yang valid sebagai argumen.
Metode ini menimbulkan kesalahan jika nilai authTokenProvider parameter bukan fungsi.

Penting

  • Dalam payload token JWT, nilai yang diberikan untuk lwicontexts kunci harus berupa konteks kustom berseri.
  • Konteks kustom adalah kumpulan pasangan kunci/nilai. Hanya nilai primitif yang diizinkan untuk kunci apa pun.
  • Kunci konteks kustom harus sesuai dengan variabel konteks yang dibuat untuk aliran kerja terkait di Multisaluran untuk Customer Service.
  • Penyedia token autentikasi akan dipanggil oleh widget obrolan langsung saat memulai obrolan baru.

Nota

Metode SDK obrolan langsung harus dipanggil setelah peristiwa lcw:ready diangkat. Anda dapat mendengarkan peristiwa ini dengan menambahkan pemroses peristiwa Anda sendiri pada objek jendela.

SDK ini hanya berlaku jika autentikasi diaktifkan untuk widget. Untuk mengaktifkan autentikasi widget Anda, lihat Membuat setelan autentikasi chat.

Syntax

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

Parameter-parameternya

Pengaturan Tipe Description
authTokenProvider Function Fungsi yang ketika dipanggil dengan fungsi callback sebagai argumen, mengambil token JWT dan memanggil fungsi callback dengan token JWT sebagai argumennya

Mengembalikan nilai

None

Example

Muatan token sampel

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

Nota

Dalam payload di atas, nilai yang sesuai dengan lwicontexts kunci harus berupa konteks kustom berseri. Kunci msdyn_cartvalue dan msdyn_isvip dalam konteks kustom berseri sesuai dengan variabel konteks yang dibuat untuk aliran kerja terkait di Multisaluran untuk 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);
        });
    });
});

Kode kesalahan

Kesalahan berikut dapat terjadi dengan metode ini.

Kode kesalahan Pesan kesalahan
2 Eksekusi metode penyedia token autentikasi gagal
3 Penyedia token autentikasi tidak menyediakan token apa pun
4 Penyedia token autentikasi menyediakan token yang tidak valid

Referensi API JavaScript untuk SDK live chat