簡介
本文檔介紹如何在Unified Contact Center Enterprise(UCCE)或Unified Contact Center Express(UCCX)中將自定義案頭客戶端與單點登入(SSO)整合。
SSO與Finesse一起原生。它是Cisco Unified Contact Center的重要功能之一。SSO是一個身份驗證過程,允許使用者登入一個應用程式,然後安全地訪問其他授權應用程式,而無需重新提供使用者憑據。SSO僅允許思科管理引擎和代理使用使用者名稱和密碼登入一次,從而可在單個瀏覽器例項中訪問其所有基於瀏覽器的思科應用程式和服務。
必要條件
需求
本文件所述內容不限於特定軟體和硬體版本。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 思科身分識別伺服器(IdS)12.5
- Finesse 12.5(1)ES1
- ADFS 2012
- UCCE 12.5
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
作為自定義客戶端,要向Finesse伺服器傳送API請求,您的請求必須獲得授權。在SSO環境中,此授權是使用令牌提供的,因此請先瞭解令牌。
令牌有兩種型別:
- 訪問令牌 — 訪問受保護的資源。向客戶端頒發包含使用者身份資訊的訪問令牌。預設情況下會加密身份資訊。
- 刷新令牌 — 它在當前訪問令牌到期前獲取新的訪問令牌。IdS生成刷新令牌。
刷新和訪問令牌作為一對令牌生成。刷新訪問令牌時,令牌對提供額外安全層。
您可以在IdS管理中配置刷新令牌和訪問令牌的到期時間。刷新令牌到期時,無法刷新訪問令牌。
獲取訪問令牌
通過新的Finesse API實現,您可以在Finesse URL中使用兩個查詢引數cc_username和return_refresh_toekn來獲取訪問令牌。
(隨11.6.(1)ES10、12.0(1)ES3、12.5(1)ES1和更新版本提供)。
(在較早的版本中,我們曾將cc_username和令牌儲存在會話cookie中,而本機Finesse Desktop仍使用相同的名稱)
範例:
https://<fqdn>:8445/desktop/sso/token?cc_username=<agentid>&return_refresh_token=true
這會將您重新導向到AD FS(IdP)頁面
成功從ADFS進行身份驗證後,您將直接重定向到令牌。
您可以使用此令牌將使用者的請求作為承載令牌傳送到Finesse。
在自定義代碼中將授權標頭用作持有人<access token>。
此示例使用Postman客戶端。
當使用訪問令牌傳送請求時,您會獲得200OK響應和相應的輸出。此圖顯示讀取了當前狀態。
同樣,該令牌可用於狀態更改API以使代理就緒、未就緒、註銷等,還可用於自定義客戶端中的對話方塊API用於應答、呼叫等。
刷新訪問令牌
訪問令牌有到期時間。您必須在此令牌過期之前刷新此令牌。
根據建議:
- 第三方應用必須在令牌到期時間的75%過後刷新訪問令牌。
- 呼叫此API可能需要瀏覽器重定向到Cisco Identity Server和Cisco Identity Provider。
若要刷新訪問令牌,請使用以下URL: https://<fqdn>:8445/desktop/sso/token?cc_username=<agentid>&refresh-token=<refresh-token-value>
您會收到新的存取權杖,如下圖所示。
現在,您可以使用此新令牌作為訪問令牌,向Finesse伺服器傳送請求。