Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Configuration Steps

Configurando Confiança da Terceira Parte Confiável para ECE

Configurando um provedor de identidade

Criando e Importando Certificados

Configuração do Logon Único do Agente

Defina o URL do servidor Web/LB nas configurações de partição

Configurando SSO para Administradores de Partição

Troubleshooting

Definindo o nível de rastreamento

Cenário de Identificação e Solução de Problemas 1

Erro

Análise de log

Resolução

Cenário de Identificação e Solução de Problemas 2

Erro

Análise de log

Resolução

Cenário de Identificação e Solução de Problemas 3

Erro

Análise de log

Resolução

Informações Relacionadas

Introdução

Este documento descreve as etapas necessárias para configurar o Logon Único (SSO) para Agentes e Administradores de Partição em uma solução ECE.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

Cisco Packaged Contact Center Enterprise (PCCE)

Cisco Unified Contact Center Enterprise (UCCE)

E-mail e bate-papo corporativo (ECE)

Microsoft Ative Diretory

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

Versão UCCE: 12.6(1)

Versão ECE: 12.6(1)

Serviço de Federação do Microsoft Ative Diretory (ADFS) no Windows Server 2016

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

Os consoles ECE (Enterprise Chat and Email) podem ser acessados fora do Finesse; no entanto, o SSO deve ser habilitado para permitir que agentes e supervisores façam login no ECE por meio do Finesse.

O Logon Único também pode ser configurado para novos administradores de partição. Isso garante que os novos usuários que efetuarem login na área de trabalho do Administrador da Cisco tenham acesso ao Enterprise Chat and Email Administration Console.

Aspectos importantes a serem observados sobre o Logon Único:

- O processo de configuração de um sistema para logon único deve ser executado para o nó de segurança no nível de partição por um usuário da partição com as ações necessárias: Exibir segurança do aplicativo e Gerenciar segurança do aplicativo.

- Para que os supervisores e administradores efetuem login nos consoles que não sejam o Console do agente, uma vez que o SSO esteja habilitado, você deverá fornecer um URL Externo válido do Aplicativo nas configurações de partição. Consulte Configurações gerais de partição para obter mais informações.

- Um certificado JKS (Java Keystore) é necessário para configurar o SSO para permitir que usuários com funções de administrador ou supervisor entrem na partição 1 do ECE fora do Finesse usando suas credenciais de login do SSO. Consulte seu departamento de TI para receber o certificado JKS.

- Um certificado SSL (Secure Sockets Layer) do Cisco IDS deve ser importado para todos os servidores de aplicativos em uma instalação. Para obter o arquivo de certificado SSL necessário, entre em contato com o departamento de TI ou o suporte Cisco IDS.

- O agrupamento do servidor de banco de dados para o Unified CCE diferencia maiúsculas de minúsculas. O nome de usuário na declaração retornada da URL do ponto de extremidade de informações do usuário e o nome de usuário no Unified CCE devem ser iguais. Se não forem iguais, os agentes de logon único não serão reconhecidos como conectados e a ECE não poderá enviar a disponibilidade do agente para o Unified CCE.

- A configuração do SSO para Cisco IDS afeta os usuários que foram configurados no Unified CCE para Logon Único. Verifique se os usuários que você deseja habilitar para SSO no ECE estão configurados para SSO no Unified CCE. Consulte o administrador do Unified CCE para obter mais informações.

Note:

- Verifique se os usuários que você deseja habilitar para SSO no ECE estão configurados para SSO no Unified CCE.

- Este documento especifica as etapas para configurar a Relying Part Trust for ECE em uma Única Implantação do AD FS em que o Servidor de Federação de Recursos e o Servidor de Federação de Contas estão instalados na mesma máquina.

- Para uma implantação do AD FS Dividido, navegue até o guia de Instalação e Configuração ECE para a respectiva versão.

Configuration Steps

Configurando Confiança da Terceira Parte Confiável para ECE

Passo 1

Abra o console de Gerenciamento do AD FS e navegue para AD FS > Relações de Confiança > Confiança da Terceira Parte Confiável.

Passo 2

Na seção Ações, clique em Adicionar objeto de confiança de terceira parte confiável...

Etapa 3

No assistente para Adicionar Objeto de Confiança de Terceira Parte Confiável, clique em Iniciar e conclua as próximas etapas:

a. Na página Selecionar Origem de Dados, selecione a opção Inserir dados sobre a parte de resposta manualmente e clique em Próximo.

b. Na página Especificar Nome para Exibição, forneça um nome para Exibição para a terceira parte confiável. Clique em Next

c. Na página Configurar URL:

i. Selecione a opção Ativar suporte para o protocolo SSO da Web SAML 2.0.

ii. No campo URL do servidor SSO SAML 2.0 da Terceira Parte Confiável, forneça o URL no formato: https://<Web-Server-Or-Load-Balancer-FQDN>/system/SAML/SSO/POST.controller

d. Na página Configurar Identificadores, forneça o identificador do objeto de confiança da terceira parte confiável e clique em Adicionar.

- O valor deve estar no formato: https://<Web-Server-Or-Load-Balancer-FQDN>/

e. Na página Escolher política de controle de acesso, clique em próximo com o valor padrão da política 'Permitir todos'.

f. Na página Ready to Add Trust, clique em Next.

g. Depois que o objeto de confiança de terceira parte confiável for adicionado com êxito, clique em Fechar.

Passo 4

Na lista Confiança do Provedor Confiável, selecione a confiança da Terceira Parte Confiável criada para ECE e, na seção Ações, clique em Propriedades.

Etapa 5

Na janela Propriedades, navegue até a guia Endpoints e clique no botão Adicionar SAML..

Etapa 6

Na janela Add an Endpoint, configure conforme observado:

1. Selecione o tipo de endpoint como logout SAML.

2. Especifique a URL Confiável como https://<ADFS-server-FQDN>/adfs/ls/?wa=wsignoutcleanup1.0

3. Click OK.

Etapa 7

Na lista Confiança do provedor confiável, selecione a confiança criada para ECE e, na seção Ações, clique em Editar política de seguro de reivindicação.

Passo 8

Na janela Editar política de seguro de reivindicação, na guia Regras de transformação de emissão, clique no botão Adicionar regra... e configure conforme mostrado:

a. Na página Escolher tipo de regra, selecione Enviar atributos LDAP como reivindicações no menu suspenso e clique em Avançar.

b. Na página Configurar Regra de Reivindicação:

1. Forneça o nome da regra de Declaração e selecione o armazenamento de Atributos.

2. Defina o mapeamento do atributo LDAP e o tipo de declaração de saída.

- Selecione ID do Nome como o nome do tipo de declaração de saída.

- Clique em Concluir para voltar à janela Editar Política de Seguro de Reivindicação e clique em OK.

Passo 9

Na lista Confianças do provedor confiável, clique duas vezes no objeto de confiança da terceira parte confiável ECE que você criou.

Na janela Propriedades que será aberta, vá até a guia Avançado e defina o algoritmo de hash seguro como SHA-1 ou SHA-256. Clique em OK para fechar a janela.

Observação: este valor deve corresponder ao valor 'Signing algorithm' definido para o 'Service Provider' em SSO Configurations in ECE

Passo 10

Verifique e anote o valor do Identificador do Serviço de Federação.

- No console Gerenciamento do AD FS, selecione e clique com o botão direito do mouse em AD FS > Editar Propriedades do Serviço de Federação > guia Geral > Identificador do Serviço de Federação

Note:

- Este valor deve ser adicionado exatamente como está ao configurar o valor de 'ID da entidade' para Provedor de identidade em Configurações de SSO em ECE.

- O uso de http:// NÃO significa que o ADFS não seja seguro; esse é apenas um identificador.

Configurando um provedor de identidade

Passo 11

Um certificado JKS (Java Keystore) é necessário para configurar o SSO para permitir que usuários com funções de administrador ou supervisor entrem na partição ECE fora do Finesse usando suas credenciais de login do SSO.

Se você quiser configurar o SSO para permitir que usuários com funções de administrador ou supervisor entrem na partição ECE fora do Finesse usando suas credenciais de login do SSO, o certificado JKS (Java Keystore) deve ser convertido em certificado de chave pública e configurado na Confiança da Terceira Parte Confiável criada no servidor IdP para ECE.

Consulte seu departamento de TI para receber o certificado JKS.

Observação: essas etapas são aplicáveis a sistemas que usam o ADFS como o provedor de identidade. Outros provedores de identidade podem ter métodos diferentes para configurar o certificado de chave pública.

Aqui está um exemplo de como um arquivo JKS foi gerado no laboratório:

a. Gerar JKS:

keytool -genkey -keyalg RSA -alias ece126web1a_saml -keystore C:\Temp\ece126web1a_saml.jks -keysize 2048 -validity 1825

Observação: a senha do armazenamento de chaves, o nome do alias e a senha da chave inseridos aqui são usados durante a configuração da configuração do 'Provedor de serviços' em Configurações de SSO no ECE.

b. Exportar o certificado:

Este comando keytool exporta o arquivo de certificado no formato .crt com o nome de arquivo ece126web1a_saml.crt para o diretório C:\Temp.

keytool -exportcert -alias ece126web1a_saml -keystore C:\Temp\ece126web1a_saml.jks -rfc -file C:\Temp\ece126web1a_saml.crt

Etapa 12

Configurando um provedor de identidade

1. No console Gerenciamento do AD FS, selecione e clique com o botão direito do mouse na Terceira Parte Confiável criada para ECE.

2. Abra a janela Propriedades da relação de confiança e, na guia Assinatura, clique no botão Adicionar.

3. Adicione o certificado público (arquivo .crt gerado na etapa anterior) e clique em OK.

Criando e Importando Certificados

Passo 13

Antes de configurar o SSO para usar o Cisco IDS para Logon Único para Agentes, o certificado Tomcat do servidor Cisco IdS deve ser importado para o aplicativo.

a. No console de administração ECE, em menu de nível de partição, clique na opção Security e selecione Certificate Management no menu à esquerda.

b. No espaço Gerenciamento de Certificados, clique no botão Novo e insira os detalhes apropriados:

- Nome: digite um nome para o certificado.

- Descrição: adicione uma descrição para o certificado.

- Tipo de componente: selecione CISCO IDS.

- Importar certificado: para importar o certificado, clique no botão Pesquisar e adicionar e insira os detalhes solicitados:

- Arquivo de certificado: clique no botão Procurar e selecione o certificado que deseja importar. Os certificados só podem ser importados nos formatos .pem, .der (BINÁRIO) ou .cer/cert.

- Nome do Apelido: forneça um apelido para o seu certificado.

c. Clique em Salvar

Configuração do Logon Único do Agente

Passo 14

1. No console de administração ECE, em menu de nível de partição, clique na opção Security e selecione Single Sign-On > Configurations no menu à esquerda.

2. No menu suspenso Selecionar configuração, selecione Agente e defina a configuração na guia Geral:

- Ativar Signon Único: Clique no botão Alternar para ativar o SSO.

- Tipo de logon único: selecione Cisco IDS.

Etapa 15

Clique na guia Configuração de SSO e forneça os detalhes da configuração:

a. Provedor do OpenID Connect

URL do Ponto de Extremidade de Informações do Usuário Primário

- A URL do ponto final de informações do usuário do servidor Cisco IDS principal.

- Esta URL valida a API de token do usuário/Informações do usuário.

- Ele está no formato: https://cisco-ids-1:8553/ids/v1/oauth/userinfo, onde cisco-ids-1 indica o Fully Qualified Domain Name (FQDN) do servidor Cisco IDS primário.

Nome da Declaração de Identidade do Usuário

- O nome da declaração retornado pela URL do ponto de extremidade de informações do usuário, que identifica o nome de usuário no Unified ou no Packaged CCE.

- O nome da declaração e o nome de usuário no Unified CCE ou no Packaged CCE devem corresponder.

- Esta é uma das asserções obtidas em resposta à validação do token do Portador.

- Se o nome de usuário dos agentes no Unified CCE ou no Packaged CCE corresponder ao Nome UPN, forneça "upn" como o valor do campo Nome da declaração de identidade do usuário.

- Se o nome de usuário dos agentes no Unified CCE ou no Packaged CCE corresponder ao nome da conta SAM, forneça "sub" como o valor do campo Nome da reivindicação de identidade do usuário.

URL do Ponto de Extremidade de Informações do Usuário Secundário

- A URL do ponto final de informações do usuário secundário do servidor Cisco IDS.

- Ele está no formato: https://cisco-ids-2:8553/ids/v1/oauth/userinfo, onde cisco-ids-2 indica o Fully Qualified Domain Name (FQDN) do servidor Cisco IDS secundário.

Método de URL do Ponto de Extremidade de Informações do Usuário

- O método HTTP usado por ECE para fazer chamadas de validação de token de Portador para a URL do Ponto de Extremidade de Informações do Usuário.

- Selecione POST na lista de opções apresentada (o POST é selecionado aqui para corresponder ao método do servidor IDS).

POST: método usado para enviar dados ao servidor Cisco IDS no endpoint especificado.

Duração do Cache de Token de Acesso (Segundos)

- A duração, em segundos, para a qual um token de Portador deve ser armazenado em cache em ECE.

- Os tokens de portador para os quais as chamadas de validação são bem-sucedidas são armazenados apenas em caches. (Valor mínimo: 1; valor máximo: 30)

Permitir login de SSO fora do Finesse

- Clique neste botão de alternância se desejar permitir que usuários com funções de administrador ou supervisor entrem na partição ECE fora do Finesse usando suas credenciais de login SSO.

- Se ativado, as informações nas seções Provedor de identidade e Provedor de serviços devem ser fornecidas.

- Isso exige que sua configuração de IdP permita um servidor IdP compartilhado.

b. Provedor de identidade

ID da entidade

- ID da entidade do servidor IdP.

Observação: este valor deve corresponder exatamente ao valor do 'Identificador do Serviço de Federação' no console de Gerenciamento do AD FS.

Certificado do provedor de identidade

- O certificado de chave pública.

- O certificado deve começar com "-----BEGIN CERTIFICATE-----" e terminar com "-----END CERTIFICATE-----"

- Este é o certificado de assinatura de token no Console de Gerenciamento do AD FS > Serviço > Certificados > Assinatura de token.

Local da Identidade do Usuário

- Selecione SAML Subject Identifier para definir o local da identidade no certificado para o identificador de assunto SAML padrão, como no assunto na asserção SAML, por exemplo, o nome de usuário no <saml:Subject>.

- Selecione SAML Attribute para atribuir o local da identidade a um atributo específico no certificado, por exemplo, email.address. Forneça o atributo no campo Nome do atributo de identidade do usuário.

Nome do Atributo de Identidade do Usuário

- Aplicável somente quando o valor Local da ID de usuário é um atributo SAML.

- Isso pode ser ajustado dentro da asserção SAML e usado para selecionar um atributo diferente para a autenticação de usuários, como um endereço de e-mail.

- Ele também pode ser usado para criar novos usuários com um Atributo SAML.

- Por exemplo, se um usuário for identificado pelo valor fornecido no atributo email.address e o valor do endereço de email fornecido não corresponder a nenhum usuário no sistema, um novo usuário será criado com os atributos SAML fornecidos.

Habilitar Asserção Criptografada (Opcional)

- Se quiser habilitar a asserção criptografada com o Provedor de identidade para logon no console, clique no botão Alternar para definir o valor como Habilitado.

- Caso contrário, defina o valor como Disabled (Desativado).

Certificado de Descriptografia de Asserção

Se a opção Ativar asserção criptografada estiver definida como Ativada, clique no botão Pesquisar e adicionar e confirme a opção de alterar o certificado.

Forneça os detalhes na janela Certificado de Descriptografia de Asserção:

- Arquivo de armazenamento de chaves Java: forneça o caminho do arquivo de armazenamento de chaves Java. Esse arquivo está no formato .jks e contém a chave de descriptografia de que o sistema precisa para acessar arquivos protegidos pelo provedor de identidade.

- Nome do Apelido: O identificador exclusivo da chave de descriptografia.

- Senha da área de armazenamento de chaves: a senha necessária para acessar o arquivo de área de armazenamento de chaves Java.

- Senha da Chave: A senha necessária para acessar a chave de descriptografia do Alias.

Observação: isso precisa corresponder ao certificado na guia 'Criptografia' da Terceira Parte Confiável ECE configurada no console de Gerenciamento do AD FS.

c. Provedor de serviços

Autenticação Iniciada pelo Provedor de Serviços

- Defina o botão de alternância como Ativado.

ID da entidade

- Forneça o URL externo do aplicativo ECE.

Solicitar certificado de assinatura

- Um certificado JKS (Java Keystore) é necessário para fornecer as informações necessárias.

- Carregue o arquivo .jks usando o nome do alias e a senha da chave/armazenamento de chaves gerados na etapa 11.

Observação: isso precisa corresponder ao certificado carregado na guia 'Assinatura' do Objeto de Confiança de Terceira Parte Confiável ECE configurado no console de Gerenciamento do AD FS.

Algoritmo de assinatura

- Defina o algoritmo de assinatura para o provedor de serviços.

- Se estiver usando ADFS, esse valor deverá corresponder ao algoritmo selecionado no objeto de confiança de terceira parte confiável criado para ECE na guia Avançado.

URL de Logon do Provedor de Identidade

- A URL para autenticação SAML.

- Por exemplo, para ADFS, seria http://<ADFS>/adfs/ls.

URL de Logout do Provedor de Identidade

- A URL para a qual os usuários são redirecionados ao fazer logoff. Isso é opcional e pode ser qualquer URL.

- Por exemplo, os agentes podem ser redirecionados para https://www.cisco.com ou qualquer outro URL após o logout do SSO.

Passo 16

Clique em Salvar

Defina o URL do servidor Web/LB nas configurações de partição

Etapa 17

Verifique se o URL correto do servidor Web/LB foi inserido em Configurações da partição > selecione a guia Aplicativos e navegue para Configurações gerais > URL externa do aplicativo

Configurando SSO para Administradores de Partição

Note:

- Esta etapa se aplica somente ao PCCE.

- Isso é para o gadget ECE acessado na interface da WEB de administração do CCE https:///cceadmin.

Etapa 18

Para configurar o SSO para o Administrador de Partição

1. No console de administração ECE, em menu de nível de partição, clique na opção Security e selecione Single Sign-On > Configurations no menu à esquerda.

2. No menu suspenso Selecionar configuração, selecione Administradores de partição e insira os detalhes de configuração:

URL LDAP

- A URL do servidor LDAP.

- Pode ser o URL do controlador de domínio (por exemplo, ldap://LDAP_server:389) ou o URL do catálogo global (por exemplo, ldap://LDAP_server:3268) do servidor LDAP.

- A partição pode ser adicionada automaticamente ao sistema quando o ECE é acessado por meio do Console de administração do CCE se o ECE estiver configurado com consulta LDAP.

- No entanto, em implantações do Ative Diretory com vários domínios em uma única floresta ou onde UPNs alternativos estão configurados, a URL do controlador de domínio com as portas LDAP padrão de 389 e 636 não deve ser usada.

- A integração LDAP pode ser configurada para usar o URL do catálogo global com as portas 3268 e 3269.

Observação: é uma prática recomendada usar o URL do Catálogo Global. Se você não usar um GC, um erro nos logs do ApplicationServer será mostrado a seguir.

- Exceção na autenticação LDAP <@>

javax.naming.PartialResultException: Referência(s) de continuidade não processada(s); nome restante 'DC=example,DC=com'

atributo de DN

- O atributo do DN que contém o nome de login do usuário.

- Por exemplo, userPrincipalName.

Base

- O valor especificado para Base é usado pelo aplicativo como a base de pesquisa.

- Base de pesquisa é o local inicial para pesquisa na árvore de diretórios LDAP.

- Por exemplo, DC=minha empresa, DC=com.

DN para pesquisa LDAP

- Se o seu sistema LDAP não permitir associação anônima, forneça o DN (Distinguished Name - Nome Distinto) de um usuário que tenha permissões de pesquisa na árvore de diretórios LDAP.

- Se o servidor LDAP permitir associação anônima, deixe este campo em branco.

Senha

- Se o seu sistema LDAP não permitir associação anônima, forneça a senha de um usuário que tenha permissões de pesquisa na árvore de diretórios LDAP.

- Se o servidor LDAP permitir associação anônima, deixe este campo em branco.

Etapa 19

Clique em Salvar

Isso agora conclui a configuração de Logon Único para Agentes e Administradores de Partição no ECE.

Troubleshooting

Definindo o nível de rastreamento

1. No console de administração ECE, em menu de nível de partição, clique na opção System Resources e selecione Process Logs no menu à esquerda.

2. Na lista de processos, selecione o processo ApplicationServer > defina o nível de rastreamento desejado no menu suspenso 'Maximum Trace Level'.

Note:

- Para solucionar os erros de login do SSO durante a instalação inicial ou a reconfiguração, defina o rastreamento do processo do Servidor de Aplicativos para o nível 7.

- Quando o erro for reproduzido, defina o nível de rastreamento de volta ao nível padrão 4, para evitar a substituição dos logs.

Cenário de Identificação e Solução de Problemas 1

Erro

- Código do erro: 500

- Descrição do erro: o aplicativo não pode fazer logon no usuário neste momento, pois houve falha no logon do Provedor de identidade.

Análise de log

- Falha no logon do IdP - <samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder" /></samlp:Status>

- Aqui, o status "Respondente" indica que há algum problema no lado do AD FS - neste caso, principalmente com o "Solicitar certificado de assinatura" carregado no console de administração ECE (Configuração SSO > Provedor de serviços) e o certificado carregado para o ECE Relying Party Trust na guia 'Assinatura'.

- Este é o certificado que é gerado usando o arquivo de armazenamento de chaves Java.

Logs do servidor de aplicativos - nível de rastreamento 7:

unmarshallAndValidateResponse:

2022-09-21 18:18:15.002 GMT+0000 <@> ERROR <@> [392364:qtp1158258131-392364] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:72d5a2a7-5520-4e8a-83a0-bc2b5d87ee38 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> unmarshallAndValidateResponse() <@> IdP login failed. Status code is NOT 'Success' in SAML Response token: <samlp:Response ID="_99e9ec67-5c53-43e3-9d53-79afb5fe95ee" Version="2.0" IssueInstant="2022-09-21T18:18:14.640Z" Destination="<fqdn>/system/SAML/SSO/POST.controller" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="EG_f75b996b-0fe5-4236-a4ad-fa634dcbc6f6" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">adfs/adfs/services/trust</Issuer><ds:Signature xmlns:ds="<fqdn>/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="<fqdn>/2001/10/xml-exc-c14n#" /><ds:SignatureMethod Algorithm="<fqdn>/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#_99e9ec67-5c53-43e3-9d53-79afb5fe95ee"><ds:Transforms><ds:Transform Algorithm="<fqdn>/2000/09/xmldsig#enveloped-signature" /><ds:Transform Algorithm="<fqdn>/2001/10/xml-exc-c14n#" /></ds:Transforms><ds:DigestMethod Algorithm="<fqdn>/2001/04/xmlenc#sha256" /><ds:DigestValue>gAlphYvLYvUBRdX6WJSFCOZ0Ph+/HB2JHnDxUmbluXg=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>HRLRYAL94nIB14/LVlrGpxNyz1ddR/pfCN4pDVTVuBWXJCCpXPHcIVuqWYHKh9gnj/QPqNwZktmKcOZTB2tviOucNhDO5r4DiqEk90R29spAVvlWEsUiVmq+hJOafoDwXk0p+uCXGAJuIsEgOVOtMQrGZSi1zHT6r6hzBb9lC2MhKryey+p34bGHxA2doHSshXpbYhVRjVGUAqpkh614Mb9bfW0fzjgVgxrXQzevRAJBKmoj+nuiOInBISxMD+bjJ1mcTCcnUCQQQ7lYwQZ/v/ux0ht5HelI9VGt90ExwjNiEUXQTzxvqGbAlDDX4K/lEGfIS/JwWo+rWDa4j1IN5Q==</ds:SignatureValue><KeyInfo xmlns="<fqdn>/2000/09/xmldsig#"><ds:X509Data><ds:X509Certificate>MIIC6DCCAdCgAwIBAgIQE/XRfyPrEYpMPM0XB1NU/DANBgkqhkiG9w0BAQsFADAwMS4wLAYDVQQDEyVBREZTIFNpZ25pbmcgLSBhZGZzLm9zZmhlYWx0aGNhcmUub3JnMB4XDTIwMDgxNjA5MjkyNVoXDTIzMDgxNjA5MjkyNVowMDEuMCwGA1UEAxMlQURGUyBTaWduaW5nIC0gYWRmcy5vc2ZoZWFsdGhjYXJlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO7LWemQO5VBCOCuXEhzx89HwlhAUyweAIC9RKkEbZGEI4oqI7OKhwuG5IerHo1qM2I08A4bOYZV7rgWD6Kn8MCyn4UsByw0TRjdu2FZQlMzJA1xnfzVhFMAsWPj3wATjpPnHivqzUK1nBLgalc/GgqSOr7dacjCQSngKqDIAJwgrRLZDapEdbI3ZfTsxHugMR5g9eFwpwAsfoizR63EHhd+NRJ2NUhRQoej/WMGhMqJpxxiZQ0vmllZHfw7CRLRPCpkMlALpEFz0DQnozpOMMlz7uEgTuXxFTfdPhA6j5AL1YoF6ZNBo/8+HiPu6+aE0melxEl6AJOghSQY60JsmkECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAwTl/KRw4cHb615bO3bqWf9YqkMQ40+hGO27Hv/So3vuQFh5b0vzdK35diOAQSjh8RUgeNT3x7CXOGic5qYtXpZVkYsEFWMO8l0O517v576no1IQNtv+rEa3cU3J0NR5U6JfGXtzfTiqu1MFCoGybVZZi9oZeBSiICObO13YBdavZUDrhIRAXenQD0yWtbWKqMMV5gxEhSAn9LAXpctaYPJx4LAw1Q1xvJ52AzyaSm3AxLkfzw0RPF4twCUuX4O+bCFRw+3ibAib1h1eCCItryBNBeIpP7mMnDpZDVJdEjX40pvku80i3c5gxzuVOwak+dd5KzqghxrSUblIdEBWoEg==</ds:X509Certificate></ds:X509Data></KeyInfo></ds:Signature><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder" /></samlp:Status></samlp:Response>. => Check IdP error log at the time of this error. <@>

2022-09-21 18:18:15.002 GMT+0000 <@> INFO <@> [392364:qtp1158258131-392364] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:72d5a2a7-5520-4e8a-83a0-bc2b5d87ee38 <@> com.egain.platform.module.security.sso.admin.SSOAdministrator <@> validateRequestWithAttributes() <@> tokenState: NULL <@>

L10N_USER_STATUS_CODE_ERROR:

2022-09-21 18:18:15.002 GMT+0000 <@> ERROR <@> [392364:qtp1158258131-392364] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:72d5a2a7-5520-4e8a-83a0-bc2b5d87ee38 <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> User SSO: SSOLoginException caught. L10N file path: pl/resourcetype/sso. L10N string: L10N_USER_STATUS_CODE_ERROR <@> - com.egain.platform.module.security.sso.exception.SSOLoginException: null

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.unmarshallAndValidateResponse(SAML2_0_Handler.java:514) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.validateReqWithAttributes(SAML2_0_Handler.java:208) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.validateReqWithAttributes(SAML2_0_Handler.java:163) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.OpenIDConnect_Handler.validateReqWithAttributes(OpenIDConnect_Handler.java:441) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.admin.SSOAdministrator.validateRequestWithAttributes(SSOAdministrator.java:131) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.controller.SSOControllerServlet.doPost(SSOControllerServlet.java:106) ~[egpl_application_classes.jar:?]

.

.

.

.

at java.lang.Thread.run(Thread.java:834) ~[?:?]

errorCode=500&errorString=The application is not able to login the user at this time as Identity Provider login failed:

2022-09-21 18:18:15.003 GMT+0000 <@> DEBUG <@> [392364:qtp1158258131-392364] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:72d5a2a7-5520-4e8a-83a0-bc2b5d87ee38 <@> com.egain.platform.client.util.i18n.L10NUtil <@> getLocalizedMessage(CallerContext, Locale, String, l10nKey, String[]) <@> In method getLocalizedMessage: pl/resourcetype/sso L10N_USER_STATUS_CODE_ERROR null <@>

2022-09-21 18:18:15.003 GMT+0000 <@> DEBUG <@> [392364:qtp1158258131-392364] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:72d5a2a7-5520-4e8a-83a0-bc2b5d87ee38 <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> WS API SSO errorURL => /system/web/view/platform/admin/security/sso/context/errorpage.html?errorCode=500&errorString=The application is not able to login the user at this time as Identity Provider login failed. If the problem persists, please contact your system administrator.&errorKey=L10N_USER_STATUS_CODE_ERROR&locale=en-US <@>

Resolução

- Consulte a configuração "Solicitar Certificado de Autenticação" na seção "Configurando o Logon Único do Agente - Provedor de Serviços".

- Certifique-se de que o arquivo .jks do armazenamento de chaves Java gerado na Etapa 11 esteja carregado no campo "Solicitar certificado de assinatura" no console de administração ECE em Configuração de SSO > Selecione a configuração 'Agente' > guia 'Configuração de SSO' > Provedor de serviços > Solicitar certificado de assinatura.

- Verifique se o arquivo .crt está carregado na guia 'Signature' (Assinatura) do ECE Relying Party Trust (Etapa 12).

Cenário de Identificação e Solução de Problemas 2

Erro

- Código do erro: 400

- Descrição do Erro: token de Resposta SAML inválido: falha na validação de assinatura.

Análise de log

- Este erro indica que há uma incompatibilidade no certificado entre o 'Certificado de assinatura de token' no ADFS e o 'Certificado do provedor de identidade' na Configuração SSO ECE.

Logs do servidor de aplicativos - nível de rastreamento 7:

Entering 'validateSSOCertificate' and validating the saml response against certificate:

2022-10-07 15:27:34.523 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> validateSSOCertificate() <@> Entering validateSignatureAndCertificate() method.validating the saml response against certificate <@>

2022-10-07 15:27:34.520 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.sso.util.SSOUtil <@> decodeBase64String() <@> Exiting decodeBase64String() method with retString: <samlp:Response ID="_2e893c54-7a6f-4bdf-bca8-8ae31a4a6074" Version="2.0" IssueInstant="2022-10-07T15:27:32.518Z" Destination="fqdn/system/SAML/SSO/POST.controller" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="EG_a9ebbc9a-e457-4cac-a22e-bd3e92ad13eb" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">adfs/adfs/services/trust</Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></samlp:Status><Assertion ID="_046b645f-7352-4c6b-af3c-3aec8817df54" IssueInstant="2022-10-07T15:27:32.518Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Issuer>adfs/adfs/services/trust</Issuer><ds:Signature xmlns:ds="<fqdn/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="<fqdn/2001/10/xml-exc-c14n#" /><ds:SignatureMethod Algorithm="<fqdn/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#_046b645f-7352-4c6b-af3c-3aec8817df54"><ds:Transforms><ds:Transform Algorithm="<fqdn/2000/09/xmldsig#enveloped-signature" /><ds:Transform Algorithm="<fqdn/2001/10/xml-exc-c14n#" /></ds:Transforms><ds:DigestMethod Algorithm="<fqdn/2001/04/xmlenc#sha256" /><ds:DigestValue>+++=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>...

2022-10-07 15:27:34.521 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> validateReqWithAttributes() <@> Exiting getDecodedSAMLResponse() method with decodedString: <samlp:Response ID="_2e893c54-7a6f-4bdf-bca8-8ae31a4a6074" Version="2.0" IssueInstant="2022-10-07T15:27:32.518Z" Destination="fqdn/system/SAML/SSO/POST.controller" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="EG_a9ebbc9a-e457-4cac-a22e-bd3e92ad13eb" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">adfs/adfs/services/trust</Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></samlp:Status><Assertion ID="_046b645f-7352-4c6b-af3c-3aec8817df54" IssueInstant="2022-10-07T15:27:32.518Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Issuer>adfs/adfs/services/trust</Issuer><ds:Signature xmlns:ds="<fqdn/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="<fqdn/2001/10/xml-exc-c14n#" /><ds:SignatureMethod Algorithm="<fqdn/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#_046b645f-7352-4c6b-af3c-3aec8817df54"><ds:Transforms><ds:Transform Algorithm="<fqdn/2000/09/xmldsig#enveloped-signature" /><ds:Transform Algorithm="<fqdn/2001/10/xml-exc-c14n#" /></ds:Transforms><ds:DigestMethod Algorithm="<fqdn/2001/04/xmlenc#sha256" /><ds:DigestValue>+++=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>...

2022-10-07 15:27:34.521 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> unmarshallAndValidateResponse() <@> Entering unmarshallAndValidateResponse() method with base64decodedResponse: <samlp:Response ID="_2e893c54-7a6f-4bdf-bca8-8ae31a4a6074" Version="2.0" IssueInstant="2022-10-07T15:27:32.518Z" Destination="fqdn/system/SAML/SSO/POST.controller" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="EG_a9ebbc9a-e457-4cac-a22e-bd3e92ad13eb" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">adfs/adfs/services/trust</Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></samlp:Status><Assertion ID="_046b645f-7352-4c6b-af3c-3aec8817df54" IssueInstant="2022-10-07T15:27:32.518Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Issuer>adfs/adfs/services/trust</Issuer><ds:Signature xmlns:ds="<fqdn/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="<fqdn/2001/10/xml-exc-c14n#" /><ds:SignatureMethod Algorithm="<fqdn/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#_046b645f-7352-4c6b-af3c-3aec8817df54"><ds:Transforms><ds:Transform Algorithm="<fqdn/2000/09/xmldsig#enveloped-signature" /><ds:Transform Algorithm="<fqdn/2001/10/xml-exc-c14n#" /></ds:Transforms><ds:DigestMethod Algorithm="<fqdn/2001/04/xmlenc#sha256" /><ds:DigestValue>+++=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>...

2022-10-07 15:27:34.521 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> getRootElement() <@> Entering getRootElement() with responseSAMLString: <samlp:Response ID="_2e893c54-7a6f-4bdf-bca8-8ae31a4a6074" Version="2.0" IssueInstant="2022-10-07T15:27:32.518Z" Destination="fqdn/system/SAML/SSO/POST.controller" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="EG_a9ebbc9a-e457-4cac-a22e-bd3e92ad13eb" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">adfs/adfs/services/trust</Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></samlp:Status><Assertion ID="_046b645f-7352-4c6b-af3c-3aec8817df54" IssueInstant="2022-10-07T15:27:32.518Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Issuer>adfs/adfs/services/trust</Issuer><ds:Signature xmlns:ds="<fqdn/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="<fqdn/2001/10/xml-exc-c14n#" /><ds:SignatureMethod Algorithm="<fqdn/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#_046b645f-7352-4c6b-af3c-3aec8817df54"><ds:Transforms><ds:Transform Algorithm="<fqdn/2000/09/xmldsig#enveloped-signature" /><ds:Transform Algorithm="<fqdn/2001/10/xml-exc-c14n#" /></ds:Transforms><ds:DigestMethod Algorithm="<fqdn/2001/04/xmlenc#sha256" /><ds:DigestValue>+++=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>...

2022-10-07 15:27:34.523 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.sso.util.SSOUtil <@> loadcertificate() <@> Entering loadcertificate() method with publicCertificateString: ----BEGIN CERTIFICATE-----

.....

-----END CERTIFICATE----- <@>

2022-10-07 15:27:34.523 GMT+0000 <@> INFO <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.sso.util.SSOUtil <@> loadcertificate() <@> cf: java.security.cert.CertificateFactory@10365e4c <@>

Error: Could not parse certificate: java.io.IOException: Incomplete data:

2022-10-07 15:27:34.523 GMT+0000 <@> ERROR <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.sso.util.SSOUtil <@> loadcertificate() <@> Could not parse certificate: java.io.IOException: Incomplete data <@>

2022-10-07 15:27:34.524 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.sso.util.SSOUtil <@> loadcertificate() <@> Exiting loadcertificate() method with xcert: null <@>

2022-10-07 15:27:34.525 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> validateSSOCertificate() <@> certificate: null <@>

2022-10-07 15:27:34.525 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> validateSSOCertificate() <@> Exiting validateSignatureAndCertificate() with retBoolean: false <@>

Signature validation failed:

2022-10-07 15:27:34.525 GMT+0000 <@> ERROR <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> unmarshallAndValidateResponse() <@> Signature validation failed. SAML Response: <samlp:Response ID="_2e893c54-7a6f-4bdf-bca8-8ae31a4a6074" Version="2.0" IssueInstant="2022-10-07T15:27:32.518Z" Destination="fqdn/system/SAML/SSO/POST.controller" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="EG_a9ebbc9a-e457-4cac-a22e-bd3e92ad13eb" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">adfs/adfs/services/trust</Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></samlp:Status><Assertion ID="_046b645f-7352-4c6b-af3c-3aec8817df54" IssueInstant="2022-10-07T15:27:32.518Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Issuer>adfs/adfs/services/trust</Issuer><ds:Signature xmlns:ds="<fqdn/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="<fqdn/2001/10/xml-exc-c14n#" /><ds:SignatureMethod Algorithm="<fqdn/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference URI="#_046b645f-7352-4c6b-af3c-3aec8817df54"><ds:Transforms><ds:Transform Algorithm="<fqdn/2000/09/xmldsig#enveloped-signature" /><ds:Transform Algorithm="<fqdn/2001/10/xml-exc-c14n#" /></ds:Transforms><ds:DigestMethod Algorithm="<fqdn/2001/04/xmlenc#sha256" /><ds:DigestValue>+++=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>...

2022-10-07 15:27:34.525 GMT+0000 <@> INFO <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.admin.SSOAdministrator <@> validateRequestWithAttributes() <@> tokenState: NULL <@>

2022-10-07 15:27:34.525 GMT+0000 <@> ERROR <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> User SSO: SSOLoginException caught. L10N file path: pl/resourcetype/sso. L10N string: L10N_USER_SIGNATURE_INVALID <@>

2022-10-07 15:27:34.525 GMT+0000 <@> DEBUG <@> [537838:qtp1158258131-537838] <@> ProcessId:3272 <@> PID:1 <@> UID:12 <@> UserSessionId:a5a413c1-24a0-aaaa-bed2-83b50f1a9915 <@> com.egain.platform.client.util.i18n.L10NUtil <@> getLocalizedMessage(CallerContext, Locale, String, l10nKey, String[]) <@> In method getLocalizedMessage: pl/resourcetype/sso L10N_USER_SIGNATURE_INVALID null <@>

Resolução

- O erro visto no trecho de log, 'Não foi possível analisar o certificado: java.io.IOExceção: Dados incompletos', indica que o conteúdo 'Certificado do Provedor de Identidade' não foi inserido corretamente

- Para resolver isso: no AS FS Management > AD FS > Service > Certificates > Token-Signing > Export this certificate > abra em um editor de texto > copie todo o conteúdo > cole em 'Identity provider certificate' arquivado na configuração do SSO > Save.

- Consulte a configuração do "Certificado do Provedor de Identidade" na seção "Configuração do logon único do Agente - Provedor de Identidade" (Etapa 15).

Cenário de Identificação e Solução de Problemas 3

Erro

- Código do erro: 401-114

- Descrição do erro: identidade do usuário não encontrada no atributo SAML.

Análise de log

Logs do servidor de aplicativos - nível de rastreamento 7:

getSSODataFromSAMLToken:

2024-02-01 01:44:32.081 GMT+0000 <@> ERROR <@> [1220:qtp815320891-1220] <@> ProcessId:7716 <@> PID:1 <@> UID:12 <@> UserSessionId:  <@> ClientIP: <@> com.egain.platform.module.security.sso.handler.SAML2_0_Handler <@> getSSODataFromSAMLToken() <@> User identity not found in   SAML_ATTRIBUTE <@>

2024-02-01 01:44:32.081 GMT+0000 <@> TRACE <@> [1220:qtp815320891-1220] <@> ProcessId:7716 <@> PID:1 <@> UID:12 <@> UserSessionId:  <@> ClientIP: <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> Entering redirectToApiErrorPage() <@>

L10N_USER_IDENTIFIER_NOT_FOUND_IN_ATTRIBUTE:

2024-02-01 01:44:32.081 GMT+0000 <@> ERROR <@> [1220:qtp815320891-1220] <@> ProcessId:7716 <@> PID:1 <@> UID:12 <@> UserSessionId:  <@> ClientIP: <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> User SSO: SSOLoginException caught. L10N file path: pl/resourcetype/sso. L10N string: L10N_USER_IDENTIFIER_NOT_FOUND_IN_ATTRIBUTE. Dynamic strings: upn <@>

com.egain.platform.module.security.sso.exception.SSOLoginException: null

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.getSSODataFromSAMLToken(SAML2_0_Handler.java:762) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.unmarshallAndValidateResponse(SAML2_0_Handler.java:604) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.validateReqWithAttributes(SAML2_0_Handler.java:208) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.SAML2_0_Handler.validateReqWithAttributes(SAML2_0_Handler.java:163) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.handler.OpenIDConnect_Handler.validateReqWithAttributes(OpenIDConnect_Handler.java:445) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.admin.SSOAdministrator.validateRequestWithAttributes(SSOAdministrator.java:131) ~[egpl_application_classes.jar:?]

at com.egain.platform.module.security.sso.controller.SSOControllerServlet.doPost(SSOControllerServlet.java:113) ~[egpl_application_classes.jar:?]

.

.

.

at java.lang.Thread.run(Thread.java:830) [?:?]

errorCode=401-114&errorString=User Identity not found in SAML attribute: 'upn':

2024-02-01 01:44:32.083 GMT+0000 <@> DEBUG <@> [1220:qtp815320891-1220] <@> ProcessId:7716 <@> PID:1 <@> UID:12 <@> UserSessionId:  <@> ClientIP: <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> WS API SSO errorURL => /system/web/view/platform/admin/security/sso/context/errorpage.html?errorCode=401-114&errorString=User Identity not found in SAML attribute: 'upn'.&errorKey=L10N_USER_IDENTIFIER_NOT_FOUND_IN_ATTRIBUTE&locale=en-US <@>

2024-02-01 01:44:32.083 GMT+0000 <@> TRACE <@> [1220:qtp815320891-1220] <@> ProcessId:7716 <@> PID:1 <@> UID:12 <@> UserSessionId:  <@> ClientIP: <@> com.egain.platform.module.security.sso.controller.SSOControllerServlet <@> redirectToApiErrorPage() <@> Exiting redirectToApiErrorPage() <@>

Resolução

- Este erro indica um problema/incompatibilidade de configuração nos campos 'User Identity Location' e 'User Identity Attribute Name'.

- Verifique e corrija o 'User Identity Location' e o 'User Identity Attribute Name' no console de administração ECE, em Single Sign-On > Configurations > no menu suspenso Select Configuration, selecione Agent > guia SSO Configuration > Identify Provider (Etapa 15).

Informações Relacionadas

Estes são os documentos principais que você deve revisar cuidadosamente antes de iniciar qualquer instalação ou integração ECE. Esta não é uma lista completa de documentos ECE.

Note:

- A maioria dos documentos ECE tem duas versões. Certifique-se de fazer o download e usar as versões que são para o PCCE. O título do documento é para o Packaged Contact Center Enterprise ou (para PCCE) ou (para UCCE e PCCE) após o número da versão.

- Verifique a página inicial da documentação do Cisco Enterprise Chat and Email para obter atualizações antes de qualquer instalação, atualização ou integração.

- https://www.cisco.com/c/en/us/support/customer-collaboration/cisco-enterprise-chat-email/series.html

ECE versão 12.6(1)

- Guia do administrador de e-mail e bate-papo corporativo