建立驗證設定

Omnichannel for Customer Service 提供一套擴充 Dynamics 365 Customer Service Enterprise 能力的組件,讓組織能立即橫跨數位傳訊管道與客戶建立連線並進行互動。存取 Omnichannel for Customer Service 需要額外的授權。如需詳細資訊,請參閱 Dynamics 365 Customer Service 定價概觀Dynamics 365 Customer Service 定價方案 頁面。

Wichtig

全通路管理應用程式在 2022 年 4 月 30 日後將不再受到支援,在日後的版本中將被取代。 我們建議您使用全通路系統管理中心應用程式。 整合路由和語音管道等最新功能,只能在這個管理應用程式中設定和使用。 如需取代公告的詳細資訊,請參閱全通路管理應用程式已被取代

您可以建立驗證設定來驗證從網域登入的客戶,並根據定義的上下文變數來抽取資訊。 您可以將您的匿名客戶與經過驗證的客戶區分開來,而且您可以依據上下文變數來建立規則。

例如,您可以為匿名客戶和經過驗證的客戶使用不同的佇列。 因為您擁有有關驗證的客戶的詳細資訊,所以您也可以依據特定的變數 (如購物車值或特許狀態) 來設定它們的優先順序。

建立驗證設定記錄之後,您必須將其新增至工作流管道設定中的管道執行個體,才能使其正常運作。 下列管道支援驗證:

  • 聊天
  • Apple Messages for Business

專員會在 交談摘要 區段中收到客戶是否已驗證的通知。 根據客戶驗證狀態,已驗證 欄位會設定為 。 如需交談摘要的詳細資訊,請參閱交談摘要

先決條件

請確定您的組織具備 OAuth 2.0 和 JSON Web 權杖 (JWT) 的相關工作知識。

建立聊天驗證設定記錄

您可以在 Customer Service admin center 或全通路系統管理中心應用程式中建立聊天驗證設定記錄。

  1. 移至其中一個應用程式,然後執行下列步驟。

    1. 在網站地圖中,選取 客戶支援 中的 客戶設定客戶設定 頁面隨即出現。
    2. 驗證設定 區段中,選取 管理

    隨即顯示 驗證設定 頁面。

  2. 選取 新增驗證設定,並在 新增驗證設定 頁面中提供下列資訊:

    • 名稱:輸入驗證設定的名稱。

    • 負責人: 接受預設值,或變更為所需的值。

    • 驗證類型: 根據預設,這會是無法編輯的 OAuth 2.0 隱含流程。

    • 公開金鑰 URL:指定網域的公開金鑰 URL。 此 URL 可用來驗證來自客戶已登入之網域的 JavaScript 物件標記法 (JSON) 網頁 Token (JWT) 的相關資訊。

    • JavaScript 用戶端函數:指定要用於驗證的 JavaScript 用戶端函數。 此函數會從權杖端點擷取權杖。

      建立聊天驗證設定記錄。

    如需有關如何尋找公開金鑰 URL 和 JavaScript 用戶端函數的詳細資訊,請參閱本文後面的設定 Power Apps 入口網站一節或設定未使用 Power Apps 建立的自訂入口網站一節。

  3. 選取 儲存

新增聊天 Widget 驗證

  1. 開啟要新增驗證的聊天 widget,並執行下列其中一個步驟:
    • 在 Customer Service admin center 或全通路系統管理中心,移至 行為 索引標籤。
    • 在全通路管理中,移至 基本詳細資料 索引標籤。
  2. 驗證設定 方塊中,瀏覽並選取聊天驗證記錄。

當入口網站上的登入客戶開啟聊天 Widget 時,JavaScript 用戶端函數會將 JWT 從用戶端傳遞至伺服器。 系統會使用公開金鑰解密並驗證 JWT,然後將資訊傳遞至客戶服務全通路的聊天專員。 做為系統管理員,您也可以定義自訂的上下文變數,傳遞有關 JWT 登入客戶的其他資訊。 內容變數必須完全依照其在與聊天 wdget 相關聯之工作流中的定義來定義。

設定 Power Apps 入口網站

如果您在使用 Power Apps 入口網站所開發的網站上新增聊天 Widget 的驗證,則公開金鑰 URL、JavaScript 用戶端函數和 JWT 都已內建可用。 以下是您可取得所需值的方式:

  • 公開金鑰 URL<portal_base_URL>/_services/auth/publickey
  • JavaScript 用戶端函數auth.getAuthenticationToken
  • 權杖端點<portal_base_URL>/_services/auth/token

Power Apps 入口網站會嘗試透過其 JavaScript 用戶端函數傳入的內容,自動將連絡人記錄連結至交談。

設定未使用 Power Apps 建立的自訂入口網站

如果要將已驗證的聊天體驗新增至自訂網站,則 Web 開發團隊必須先執行一些初始設定,系統管理員才能設定已驗證的聊天。

  1. 在其驗證服務器中建立公開/私密金鑰組。 金鑰必須是使用 RSA256 所產生。

    以下是產生私密/公開金鑰組的範例程式碼。

    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  2. 建立會傳回您的公開金鑰的端點。 全通路伺服器將會使用此公開金鑰,以驗證授權聊天要求過程中所傳遞的 JWT 權杖。 建立驗證設定記錄時,全通路管理應用程式中會輸入此端點的 URL。

    您的公開金鑰端點看起來類似這個範例:

      -----BEGIN PUBLIC KEY----- 
      NIIBIjANBgkqhkiG9w0BAQEFABCOPQ8AMIIBCgKCAQEAn+BjbrY5yhSpLjcV3seP 
      mNvAvtQ/zLwkjCbpc8c0xVUOzEdH8tq4fPi/X5P/Uf2CJomWjdOf1wffmOZjFasx 
      ELG+poTqy5uX2dNhH6lOMUsV31QGG36skLivpLBCSK6lWlzsV6WGkb/m8r86aGzp 
      jtNhw8yvoTYB4updDrJ8pC+tx4EWK0WEmKn1GsW6TjUtxJjcTLI1puSbmcGHbkSi 
      RSbWkKPqaEVFALprw+W5ZCung5QX3KOkY/rJd+2JwULm7okyQCQaF7qwa5i9Uf65 
      7M6ZL4vsDevq7E/v3tf6qxpSSHzt4XspXVQty9QHhqDqBEY3PfI4L2JjgIGuPhfS 
      YQIDAQAB 
      -----END PUBLIC KEY-----   
    
    

If you need to use multiple public keys, your public key endpoint can return a set of <kid, publickey > pairs. (Note that key ID pairs must be unique.) The kid will need to be passed in the JWT token in step 4. If you're using multiple keys, your public key endpoint should return something that looks like this. The public key is base 64 encoded:

 [      {          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",          "expiry": 1608495423      }, {          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",          "expiry": 1608495423      } ]
  1. You'll need a service that generates the JWT to send to Omnichannel’s servers as a part of starting a chat for an authenticated user.

    a. The JWT header will look similar to the following example.

    { 
      "alg": "RS256", 
      "typ": "JWT", 
    } 
    

    如果要使用多個公開金鑰,則必須傳入金鑰識別元 (kid)。 您的標頭看起來類似這個範例:

    { 
      "alg": "RS256", 
      "typ": "JWT",
      "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4="
    } 
    

    b. JWT 承載應包含下列項目。

    • 至少含下列宣告。

      宣告 定義
      Iss 權杖的簽發者。
      Iat 權杖的簽發日期。 這是數值日期格式。
      Exp 此權杖的到期日。 超過此日期後,就不再有效。 這是數值日期格式。
      sub 宣告的主旨。
      注意: 建議您將 Customer Service 中連絡人或客戶記錄的 GUID 傳遞給登入的使用者。 此 GUID 將用來找出連絡人記錄並將其連結至交談。
    • lwicontexts:要傳入做為交談之一部分的內容變數,以作路由傳遞之用,或顯示給專員。 若要進一步了解 lwicontext,請參閱管理自訂內容

      Hinweis

      您也可以使用內容變數來自動識別記錄。 如需詳細資訊,請參閱:使用聊天前回覆和 setContext API 方法來自動識別客戶

    • 任何其他要傳遞的資料。

      您的承載看起來類似這個範例:

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

    c. JWT 簽章應以您的私密金鑰來簽署。

    Hinweis

    • 如果權杖過期或無效,則聊天 widget 會擲回錯誤事件。
    • 已驗證的聊天不需要使用 setContextProvider 方法。 您應該傳入 lwicontext 做為 JWT 承載的一部分。
  2. 在網站上建立 JavaScript 函數,此網站將會接受回呼函數,並將 JWT 傳回至回呼函數。 若要避免逾時,此 JavaScript 函數必須在 10 秒內傳回 JWT。 此 JWT 將會:

    • 包含步驟 3 中的標頭、承載和簽章。

    • 以步驟 1 中金鑰組的私密金鑰來進行簽署。

      我們建議在您的 Web 伺服器上產生您的 JWT。

      此 JavaScript 方法的名稱會在全通路管理應用程式中用來建立驗證設定記錄。

      // This is a sample javascript client function  
      
      auth.getAuthenticationToken = function(callback){ 
      
        var xhttp = new XMLHttpRequest(); 
        xhttp.onreadystatechange = function() { 
            if (this.readyState == 4 && this.status == 200) { 
                callback(xhttp.responseText); 
            } 
        }; 
        xhttp.onerror = function(error) { 
            callback(null); 
        }; 
      //Replace this with a call to your token generating service 
        xhttp.open("GET", "https://contosohelp.com/token", true); 
        xhttp.send(); 
      } 
      
  3. 開發人員必須與全通路管理員共用下列資訊:

    a. 步驟 2 中的公開金鑰服務 URL。

    範例: https://www.contoso.com/auth/publickey

    b. 步驟 4 中 JavaScript 用戶端函數的名稱。 這會在開始聊天期間由即時聊天 widget 進行內部呼叫。

    範例:auth.getAuthenticationToken

    Hinweis

    如果使用者體驗會在驗證使用者使用者之前公開聊天按鈕,請務必視需要將這些使用者重新導向至您的驗證頁面。 此動作可使用步驟 4 中的方法完成,或依照先前在您的使用者流程中的步驟進行。

    此圖表會引導您完成設定:

    已驗證的聊天設定。

    您可以接著依照下列步驟設定已驗證的聊天:

  4. 移至全通路系統管理中心或全通路管理應用程式,並使用步驟 5 中的資訊建立驗證設定記錄。 如需詳細資訊,請參閱建立聊天驗證設定記錄

  5. 將驗證設定與要有驗證體驗的聊天 widget 建立關聯。 如需詳細資訊,請參閱將驗證新增至聊天 widget

    當使用者在驗證過的設定中存取您的聊天時,此圖表會引導完成呼叫順序。

    已驗證的聊天執行階段。

建立社交管道的驗證設定

OAuth 2.0 授權碼流程先決條件

設定驗證設定的系統管理員需要額外的安全性權限。 其他資訊:設定欄位的安全性權限

請確定您的組織具備 OAuth 2.0 授權碼流程的相關工作知識。

確認您的組織至少有一個 Apple Messages for Business 驗證類型多媒體訊息。 這是設定所必需的。

建立 Apple Messages for Business 驗證設定記錄

  1. 在 Customer Service 系統管理中心或全通路系統管理中心應用程式的網站地圖中,選取 客戶設定,然後選取 驗證設定的管理。 會顯示現有驗證設定的清單。

  2. 選取 新增驗證設定,並在 新增驗證設定 頁面中提供下列詳細資料:

    1. 管道類型 頁面上,輸入名稱,並選取 Apple Messages for Business 做為管道類型。
      驗證類型預設為 OAuth 2.0 授權碼流程。 此項不可以變更。

    2. 詳細資料 頁面上,請提供下列資訊:

      • 用戶端值:授權伺服器所簽發的 OAuth 2.0 用戶端識別碼。
      • 用戶端密碼:用於驗證傳送至授權伺服器之要求的用戶端密碼。
      • 範圍:每個新增的範圍都會指定您已向客戶要求的使用者資料片段。 範圍內容必須完全符合可透過服務提供者取得的內容。
      • 解密的權杖 URL:OAuth 2.0 API 可在其中擷取範圍內所要求客戶資訊的端點。
    3. 其他詳細資料 頁面上,您可以選擇定義存取權杖到期時間 (以秒為單位)。 預設到期時間為一小時。
      在指定的時間之後,先前已驗證交談之 客戶摘要 區段中的 已驗證 欄位將會變更為

    4. 多媒體訊息 頁面上,選取 新增,然後選取一個或多個要與此驗證設定建立關聯的多媒體訊息。

    5. 檢閱 摘要 頁面,然後選取 完成。 驗證設定已設定。

將驗證新增至 Apple Messages for Business 管道

  1. 開啟包含您要將驗證新增至之管道執行個體的工作流。

  2. 在管道設定的 行為 頁面上,瀏覽至 驗證設定、啟用該功能,然後從下拉式功能表選取正確的設定。 其他資訊:設定 Apple Messages for Business 管道

  3. 選取 編輯,以檢閱或更新每個執行個體的驗證設定。

另請參閱

新增聊天 widget
設定聊天前問卷
建立快速回覆
建立和管理營運時間
在 Power Apps 入口網站中內嵌聊天 Widget
自動識別客戶

Hinweis

是否能請您告知您偏好的慣用文件語言? 請填寫問卷。 (請注意,本問卷為英文版)

完成問卷大約需要七分鐘。 本問卷將不會收集個人資料 (隱私權聲明)。