共用方式為


setAuthToken提供者

Customer Service 全通路提供一組展現 Dynamics 365 Customer Service Enterprise 強大威力的功能套件,讓組織可以立即與不同數位傳訊管道中的客戶進行聯繫和互動。 存取 Customer Service 全通路需要額外的授權。 如需詳細資訊,請參閱 Dynamics 365 Customer Service 定價概觀Dynamics 365 Customer Service 定價方案頁面。

設定驗證權杖提供者。

當使用回呼函式作為參數呼叫驗證權杖提供者函式時,會以有效的 JSON Web 權杖 (JWT) 字串作為引數來呼叫回呼函式。
如果參數的 authTokenProvider 值不是函數,這個方法會引發錯誤。

這很重要

  • 在JWT權杖的承載中,為key提供的 lwicontexts 值應該是序列化的自訂內容。
  • 自訂內容是索引鍵/值組的集合。 任何索引鍵只允許基本值。
  • 自訂內容的索引鍵必須對應於為 Customer Service 全通路中相關聯工作流建立的內容變數。
  • 開始新聊天時,即時聊天小工具會叫用驗證權杖提供者。

備註

應該在引發 lcw:ready 事件 之後叫用即時聊天 SDK 方法。 您可以在視窗物件上新增自己的事件接聽程式,以監聽此事件。

只有在為小工具啟用驗證時,此 SDK 才適用。 若要啟用小工具的驗證,請參閱 建立聊天驗證設定

語法

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

參數

參數 類型 Description
authTokenProvider 功能 當使用回呼函式作為引數呼叫時,會擷取 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 參考