简介
本文档介绍如何在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环境中,此授权是使用令牌提供的,因此首先了解令牌。
令牌有两种类型:
- 访问令牌 — 用于访问受保护的资源。向客户端颁发包含用户身份信息的访问令牌。默认情况下会加密身份信息。
- Refresh Token — 它在当前访问令牌到期前获取新的访问令牌。Id生成刷新令牌。
刷新和访问令牌作为一对令牌生成。刷新访问令牌时,令牌对提供额外的安全层。
您可以在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桌面仍保持不变)
示例:
https://<fqdn>:8445/desktop/sso/token?cc_username=<agentid>&return_refresh_token=true
这会将您重定向到AD FS(IdP)页面
从ADFS成功进行身份验证后,您将直接重定向到令牌。
您可以使用此令牌将用户的请求作为承载令牌发送到Finesse。
在自定义代码中将授权报头用作Bearer <access token>。
此示例使用Postman客户端。
当使用访问令牌发送请求时,您会收到200OK响应和相应的输出。此图显示当前状态已获取。
同样,该令牌可用于状态更改API以使代理处于“就绪”、“未就绪”、“注销”等状态,也可用于自定义客户端中的“应答”、“进行呼叫”等对话框API。
刷新访问令牌
访问令牌有到期时间。您必须在此令牌到期之前刷新它。
根据建议:
- 在令牌到期时间的75%过期后,第三方应用必须刷新访问令牌。
- 调用此API可能需要浏览器重定向到思科身份服务器和思科身份提供程序。
要刷新访问令牌,请使用以下URL:https://<fqdn>:8445/desktop/sso/token?cc_username=<agentid>&refresh-token=<refresh-token-value>
您将收到新的访问令牌,如图所示。
现在,您可以再次使用此新令牌作为访问令牌,向Finesse服务器发送请求。