共用方式為


設定驗證設定

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

適用於:Dynamics 365 Contact Center — 內嵌、Dynamics 365 Contact Center — 獨立和 Dynamics 365 Customer Service

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

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

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

  • 聊天
  • Apple Messages for Business

為了指示客戶是否已通過驗證,專員會在交談摘要區段中收到通知。 根據客戶的驗證狀態,已驗證欄位會設定為。 請至交談摘要了解詳細資訊

必要條件

  • 請確定您的組織具備 OAuth 2.0 和 JSON Web 權杖 (JWT) 的工作知識。
  • 確認您是否有安全資料行的權限。 請至設定存取安全資料行的權限了解詳細資訊

建立聊天的驗證設定記錄

您可以在管理員應用程式中建立聊天驗證設定記錄。

  1. 在 Customer Service 系統管理中心的網站地圖中,選取客戶支援中的客戶設定客戶設定頁面隨即出現。

  2. 驗證設定區段中,選取管理驗證設定頁面會出現。

  3. 選取新增驗證設定,然後在新增驗證設定頁面上提供下列資訊:

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

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

    • 驗證類型:預設無法編輯 OAuth 2.0。

    • 公開金鑰 URL:指定網域的公開金鑰 URL。 此 URL 用於驗證來自客戶所登入網域的 JavaScript 物件標記法 (JSON) Web 權杖 (JWT) 的資訊。

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

      設定聊天驗證設定記錄。

    如需了解如何尋找公開金鑰 URL 和 JavaScript 用戶端函數,請參閱本文後面的設定 Power Apps 入口網站設定自訂入口網站章節。

  4. 選取儲存

使用 OAuth 2.0 建立聊天的驗證設定記錄

  1. 執行建立聊天的驗證設定記錄中的步驟 1 到 3,然後在新增驗證設定頁面上輸入下列詳細資料:

    • 名稱:驗證設定的名稱。
    • 管道類型即時聊天
    • 驗證類型:OAuth 2.0
  2. 選取下一步,並在詳細資料頁面中輸入下列資訊:

    • 權杖自訂動作:自訂代碼參考,以驗證識別提供者提供的權杖並傳回已驗證使用者的使用者識別碼。
    • 權杖 URL:用於交換授權碼的 URL,讓權杖傳遞至自訂動作以取得使用者識別碼。
    • 重新導向 URL:傳遞至原始授權碼要求的 URL,這是呼叫權杖交換端點時的必要參數。
    • 用戶端識別碼:傳遞至權杖交換終端之用戶端的識別碼。
    • 用戶端密碼:驗證傳遞至權杖交換終端之用戶端的密碼。
    • 範圍:使用者透過流程中取得之權杖所獲授權的範圍。
  3. 儲存變更。

新增聊天 Widget 驗證

  1. 在 Customer Service 系統管理中心,編輯工作流設定中的聊天 Widget,然後移至行為索引標籤。

  2. 驗證設定方塊中,瀏覽並選取聊天驗證記錄。

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

設定 Power Apps 入口網站

如果您在使用 Power Apps 入口網站所開發的網站上新增聊天 Widget 的驗證,則公開金鑰 URL、JavaScript 用戶端函數和 JWT 都立即可用。 您必須上傳自訂憑證,才能在 Power Apps 入口網站上取得有效的公開金鑰 URL。

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

對於現成可用的 Power Apps 入口網站,JavaScript 用戶端函數會傳回權杖,此權杖預設具有適當的宣告,可將連絡人記錄連結至交談。 此權杖包含提供已登入使用者之連絡人識別碼的子宣告。 這個子宣告提供全通路的唯一識別碼,可自動識別並連結 Dataverse 環境中的連絡人記錄。 在接下來的章節表格中了解詳細資訊。

設定自訂入口網站

如果將已驗證的聊天體驗新增至不是使用 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-----   
    
    

如果您需要使用多個公開金鑰,則公開金鑰端點可以傳回一組 <kid, publickey> 配對,其中 kid 會參考金鑰識別元。 金鑰識別元配對必須是唯一的。 需要在步驟 4 中將 JWT 權杖傳遞至金鑰識別元 (kid)。 如果使用多個金鑰,您的公開金鑰端點應該會傳回一些類似下列範例的內容。 公開金鑰採用 Base64 編碼。

 [
      { 
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      },
 {
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      } 
 ]
  1. 您需要一個會產生 JWT 的服務,以便在對已驗證使用者起始聊天的過程中傳送至全通路的伺服器。

    a. JWT 標頭看起來會像下列範例這樣。

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

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

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

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

    • 至少含下列宣告:

      索賠 定義
      iss 權杖的簽發者。
      iat 以數值日期格式發行權杖的日期。
      exp 此權杖的到期日 (數值日期格式)。
      sub 宣告的主旨。
      注意:建議您將 Customer Service 中連絡人或客戶記錄的 GUID 傳遞給登入的使用者。 此 GUID 用於識別連絡人記錄並將其連結至交談。 記錄搜尋可識別具有連絡人或帳戶使用中狀態碼的記錄。 如果使用自訂狀態碼,則記錄識別無法運作。
    • lwicontexts 這個內容變數可傳入做為交談之一部分,以作路由傳遞之用,或顯示給專員。
      在以下位置了解更多資訊
      管理自訂上下文
      setAuthTokenProvider 方法
      使用內容變數來自動識別記錄

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

    您的承載看起來應該像下列範例這樣︰

      { 
          "sub" : "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb\"}", 
          "iat" : 1542622071, 
          "iss" : "contosohelp.com", 
          "exp" : 1542625672, 
          "nbf" : 1542622072 
      } 
    

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

    注意

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

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

    • 這必須以步驟 1 中金鑰組的私密金鑰來簽署。

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

      此 JavaScript 方法的名稱在 Customer Service 管理應用程式中用於建立驗證設定記錄。

      // 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

    注意

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

    下圖示範安裝程式。

    已驗證的聊天設定。

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

設定已驗證的聊天

  1. 移至管理員應用程式,並使用上一節步驟 5 中的資訊建立驗證設定記錄。 請至建立聊天的驗證設定記錄了解詳細資訊

  2. 將驗證設定與具有驗證體驗的聊天 Widget 建立關聯。 請至將驗證新增至聊天 Widget 了解詳細資訊

    下圖示範使用者在已驗證設定中存取聊天時的呼叫順序。

    已驗證的聊天執行階段。

建立 Apple Messages for Business 的驗證設定

必要條件

  • 設定驗證設定的系統管理員需要更多安全性權限。 請至設定欄位的安全性權限了解詳細資訊

  • 請確定您的組織具備 OAuth 2.0 OpenID Connect 流程的工作知識。 下一節概述這些步驟。

  • 確認您的組織至少有一個 Apple Messages for Business 驗證類型多媒體訊息。 進行設定時需要此多媒體訊息設定。

使用 OAuth 2.0 OpenID Connect 流程建立 Apple Messages for Business 的驗證設定記錄

  1. 在 Customer Service 系統管理中心網站地圖中,選取客戶設定,然後選取驗證設定的管理。 現有驗證設定的清單會出現。

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

    1. 管道類型頁面上,輸入名稱,然後選取 Apple Messages for Business 做為管道類型。

    2. 變更驗證類型 OAuth 2.0 OpenID Connect 流程

    3. 新增驗證設定頁面中,提供下列資訊:

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

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

    6. 檢閱摘要頁面,然後選取下一步。 驗證設定已設定。

    7. 重新導向資訊頁面中,複製 URL。 您可以將此 URL 新增至驗證服務提供者網站允許的回撥 URL 下方。

    8. 選取完成

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

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

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

  3. 若要檢閱或更新每個管道執行個體的驗證設定,請選取編輯

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