Introdução
Este documento descreve como você pode integrar o cliente de desktop personalizado com Single Sign-On (SSO) no Unified Contact Center Enterprise (UCCE) ou no Unified Contact Center Express (UCCX).
O SSO está disponível originalmente com o Finesse. É um dos recursos cruciais do Cisco Unified Contact Center. O SSO é um processo de autenticação que permite aos usuários entrar em um aplicativo e, em seguida, acessar com segurança outros aplicativos autorizados sem a necessidade de refornecer credenciais de usuário. O SSO permite que os supervisores e agentes da Cisco se conectem apenas uma vez com um nome de usuário e uma senha para obter acesso a todos os aplicativos e serviços da Cisco baseados em navegador em uma única instância do navegador.
Pré-requisitos
Requisitos
Este documento não se restringe a versões de software e hardware específicas.
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- Cisco Identity Server (IdS) 12.5
- Finesse 12.5(1)ES1
- ADFS 2012
- UCCE 12.5
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Como um cliente personalizado, para enviar solicitações de API ao servidor Finesse, suas solicitações devem ser autorizadas. No contexto do SSO, essa autorização é fornecida usando tokens, portanto, compreenda primeiro os tokens.
Há dois tipos de tokens:
- Token de acesso - Acessa recursos protegidos. Os clientes recebem um token de acesso que contém informações de identidade para o usuário. As informações de identidade são criptografadas por padrão.
- Atualizar token - Obtém um novo token de acesso antes da expiração do token de acesso atual. O IdS gera o token de atualização.
Os tokens de atualização e acesso são gerados como um par de tokens. Ao atualizar o token de acesso, o par de tokens fornece uma camada extra de segurança.
Você pode configurar o tempo de expiração do token de atualização e o token de acesso na administração do IdS. Quando o token de atualização expirar, você não poderá atualizar o token de acesso.
Buscar token de acesso
Com as novas implementações da API do Finesse, você pode usar dois parâmetros de consulta cc_username e return_refresh_token na URL do Finesse para obter o token de acesso.
(Disponível com 11.6.(1)ES10, 12.0(1)ES3, 12.5(1)ES1 e versões posteriores).
(Em versões mais antigas, usamos para armazenar o cc_username e os tokens em cookies de sessão e ainda é o mesmo com o Finesse Desktop nativo)
Exemplo:
https://<fqdn>:8445/desktop/sso/token?cc_username=<agentid>&return_refresh_token=true
Você será redirecionado para a página AD FS (IdP)
Após a autenticação bem-sucedida do ADFS, você será redirecionado para o token diretamente.
Você pode usar esse token para enviar solicitações ao Finesse para o usuário como token de Portador.
Use o Cabeçalho de autorização como Portador <token de acesso> em seu código personalizado.
Este exemplo usa o cliente Postman.
Quando a solicitação é enviada com o Token de acesso, você obtém a resposta com 200OK e a saída correspondente. Esta imagem mostra que o estado atual é obtido.
Da mesma forma, o token pode ser usado para APIs de Alteração de Estado para tornar o Agente Pronto, Não Pronto, Logoff etc. e para APIs de Caixa de Diálogo para Resposta, Fazer Chamada etc. no cliente personalizado.
Atualizar token de acesso
Um token de acesso tem um tempo de expiração. Você deve atualizar este token antes que ele expire.
De acordo com a recomendação:
- Os aplicativos de terceiros precisam atualizar o token de acesso depois que 75% do tempo de expiração do token tiver decorrido.
- Chamar essa API pode envolver o redirecionamento do navegador para o Cisco Identity Server e o Cisco Identity Provider.
Para atualizar o token de acesso, use este URL: https://<fqdn>:8445/desktop/sso/token?cc_username=<agentid>&refresh-token=<refresh-token-value>
Você recebe o novo token de acesso como mostrado na imagem.
Agora, você pode usar esse novo token como o token de acesso para enviar uma solicitação ao servidor Finesse.