Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Procedura di configurazione

Configurazione dell'attendibilità componente per ECE

Configurazione di un provider di identità

Creazione e importazione di certificati

Configurazione di Single Sign-On dell'agente

Impostare l'URL del server Web o del bilanciamento del carico nelle impostazioni della partizione

Configurazione di SSO per gli amministratori della partizione

Risoluzione dei problemi

Impostazione del livello di traccia

Risoluzione dei problemi dello scenario 1

Errore

Analisi log

Risoluzione

Scenario di risoluzione dei problemi 2

Errore

Analisi log

Risoluzione

Scenario di risoluzione dei problemi 3

Errore

Analisi log

Risoluzione

Informazioni correlate

Introduzione

In questo documento vengono descritti i passaggi necessari per configurare Single Sign-On (SSO) per gli agenti e gli amministratori delle partizioni in una soluzione ECE.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

Cisco Packaged Contact Center Enterprise (PCCE)

Cisco Unified Contact Center Enterprise (UCCE)

Enterprise Chat and Email (ECE)

Microsoft Active Directory

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

Versione UCCE: 12.6(1)

Versione ECE: 12.6(1)

Microsoft Active Directory Federation Service (ADFS) in Windows Server 2016

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

È possibile accedere alle console Enterprise Chat and Email (ECE) all'esterno di Finesse; tuttavia, l'SSO deve essere abilitato per consentire ad agenti e supervisori di accedere a ECE tramite Finesse.

È inoltre possibile configurare Single Sign-On per i nuovi amministratori delle partizioni. In questo modo, ai nuovi utenti che accedono al desktop di Cisco Administrator viene concesso l'accesso a Enterprise Chat and Email Administration Console.

Aspetti importanti da notare relativi a Single Sign-On:

- Il processo di configurazione di un sistema per Single Sign-On deve essere eseguito sul nodo Protezione a livello di partizione da un utente della partizione con le azioni necessarie: Visualizza protezione applicazione e Gestisci protezione applicazione.

- Per consentire a supervisori e amministratori di accedere a console diverse da quella dell'agente, una volta abilitato l'SSO, è necessario fornire un URL esterno valido dell'applicazione nelle impostazioni della partizione. Per ulteriori informazioni, vedere Impostazioni generali delle partizioni.

- È necessario un certificato Java Keystore (JKS) per configurare SSO per consentire agli utenti con ruoli di amministratore o supervisore di accedere alla partizione 1 di ECE all'esterno di Finesse utilizzando le credenziali di accesso SSO. Consultare il reparto IT per ricevere il certificato JKS.

- È necessario importare un certificato SSL (Secure Sockets Layer) di Cisco IDS in tutti i server applicazioni di un'installazione. Per ottenere il file del certificato SSL necessario, contattare il reparto IT o il supporto Cisco IDS.

- Le regole di confronto del server di database per Unified CCE distinguono tra maiuscole e minuscole. Il nome utente nell'attestazione restituito dall'URL dell'endpoint delle informazioni utente e il nome utente in Unified CCE devono essere uguali. In caso contrario, gli agenti Single Sign-On non vengono riconosciuti come connessi e ECE non può inviare la disponibilità dell'agente a Unified CCE.

- La configurazione di SSO per Cisco IDS influisce sugli utenti configurati in Unified CCE per Single Sign-On. Verificare che gli utenti che si desidera abilitare per l'SSO in ECE siano configurati per l'SSO in Unified CCE. Per ulteriori informazioni, rivolgersi all'amministratore di Unified CCE.

Nota:

- Verificare che gli utenti che si desidera abilitare per l'SSO in ECE siano configurati per l'SSO in Unified CCE.

- In questo documento viene descritto come configurare l'attendibilità della relying part per ECE in una singola distribuzione di AD FS in cui nello stesso computer sono installati Server federativo di risorse e Server federativo di account.

- Per una distribuzione di ADFS divisa, passare alla guida all'installazione e alla configurazione ECE per la versione corrispondente.

Procedura di configurazione

Configurazione dell'attendibilità componente per ECE

Passaggio 1

Aprire la console di gestione di AD FS e selezionare AD FS > Relazioni di trust > Attendibilità componente.

Passaggio 2

Nella sezione Azioni fare clic su Aggiungi attendibilità componente...

Passaggio 3

Nella procedura guidata Aggiungi attendibilità componente fare clic su Start e completare i passaggi seguenti:

a. Nella pagina Seleziona origine dati, selezionare l'opzione Immettere manualmente i dati sulla parte di risposta e fare clic su Avanti.

b. Nella pagina Specificare il nome visualizzato, fornire un nome visualizzato per il componente. Fare clic su Avanti.

c. Nella pagina Configura URL:

i. Selezionare l'opzione Abilita supporto per il protocollo SAML 2.0 Web SSO.

ii. Nel campo URL server SAML 2.0 SSO componente specificare l'URL nel formato: https://<Web-Server-Or-Load-Balancer-FQDN>/system/SAML/SSO/POST.controller

d. Nella pagina Configura identificatori, fornire l'identificatore di attendibilità del componente e fare clic su Aggiungi.

- Il formato del valore deve essere: https://<FQDN-Server-Web-Or-Load-Balancer>/

e. Nella pagina Scegli i criteri di controllo di accesso, fare clic su avanti con il criterio predefinito 'Autorizza tutti'.

f. Nella pagina Pronto per aggiungere trust, fare clic su Avanti.

g. Dopo aver aggiunto l'attendibilità del componente, fare clic su Chiudi.

Passaggio 4

Nell'elenco Attendibilità provider di servizi di base selezionare l'attendibilità del componente creata per ECE e nella sezione Azioni fare clic su Proprietà.

Passaggio 5

Nella finestra Proprietà, passare alla scheda Endpoints e fare clic sul pulsante Add SAML..

Passaggio 6

Nella finestra Add an Endpoint, configurare come indicato:

1. Selezionare il tipo di endpoint come Disconnessione SAML.

2. Specificare l'URL attendibile come https://<ADFS-server-FQDN>/adfs/ls/?wa=wsignoutcleanup1.0

3. Fare clic su OK.

Passaggio 7

Nell'elenco Trust provider di servizi di base selezionare il trust creato per ECE e nella sezione Azioni fare clic su Modifica polizza di assicurazione attestazione.

Passaggio 8

Nella finestra Modifica polizza assicurativa risarcimento, nella scheda Regole di trasformazione rilascio, fare clic sul pulsante Aggiungi regola... e configurare come mostrato di seguito:

a. Nella pagina Scegli tipo di regola, selezionare Invia attributi LDAP come attestazioni dall'elenco a discesa e fare clic su Avanti.

b. Nella pagina Configura regola attestazione:

1. Specificare il nome della regola attestazione e selezionare l'archivio attributi.

2. Definire il mapping dell'attributo LDAP e il tipo di attestazione in uscita.

- Selezionare ID nome come nome del tipo di attestazione in uscita.

- Fare clic su Fine per tornare alla finestra Modifica polizza assicurativa risarcimento e quindi fare clic su OK.

Passaggio 9

Nell'elenco Attendibilità provider di servizi fare doppio clic sull'attendibilità del componente ECE creata.

Nella finestra Proprietà visualizzata passare alla scheda Avanzate e impostare l'algoritmo hash di protezione su SHA-1 o SHA-256. Fare clic su OK per chiudere la finestra.

Nota: questo valore deve corrispondere al valore 'Signing algorithm' impostato per 'Service Provider' nelle configurazioni SSO in ECE

Passaggio 10

Verificare e annotare il valore dell'identificatore del servizio federativo.

- Nella console Gestione ADFS selezionare e fare clic con il pulsante destro del mouse su ADFS > Modifica proprietà servizio federativo > scheda Generale > Identificatore servizio federativo

Nota:

- Questo valore deve essere aggiunto esattamente come lo è quando si configura il valore 'Entity ID' per Identity Provider in Configurazioni SSO in ECE.

- L'utilizzo di http:// NON significa che ADFS non sia sicuro, ma semplicemente un identificatore.

Configurazione di un provider di identità

Passaggio 11

È necessario un certificato Java Keystore (JKS) per configurare SSO per consentire agli utenti con ruoli di amministratore o supervisore di accedere alla partizione ECE al di fuori di Finesse utilizzando le credenziali di accesso SSO.

Se si desidera configurare SSO per consentire agli utenti con ruoli di amministratore o supervisore di accedere alla partizione ECE all'esterno di Finesse utilizzando le credenziali di accesso SSO, il certificato Java Keystore (JKS) deve essere convertito in certificato a chiave pubblica e configurato in Attendibilità componente creata sul server IdP per ECE.

Consultare il reparto IT per ricevere il certificato JKS.

Nota: questi passaggi sono applicabili ai sistemi che utilizzano ADFS come provider di identità. Altri provider di identità possono disporre di metodi diversi per configurare il certificato a chiave pubblica.

Di seguito è riportato un esempio di come è stato generato un file JKS nel laboratorio:

a. Generare JKS:

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

Nota: la password del keystore, il nome alias e la password della chiave immessi qui vengono utilizzati durante la configurazione della configurazione 'Service Provider' in Configurazioni SSO in ECE.

b. Esportare il certificato:

Questo comando keytool esporta il file di certificato nel formato .crt con nome file ece126web1a_saml.crt nella directory C:\Temp.

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

Passaggio 12

Configurazione di un provider di identità

1. Nella console Gestione AD FS selezionare e fare clic con il pulsante destro del mouse sull'attendibilità componente creata per ECE.

2. Aprire la finestra Proprietà relativa al trust e nella scheda Firma fare clic sul pulsante Aggiungi.

3. Aggiungere il certificato pubblico (file crt generato nel passaggio precedente) e fare clic su OK.

Creazione e importazione di certificati

Passaggio 13

Prima di configurare l'SSO per l'utilizzo di Cisco IDS per Single Sign-On per gli agenti, è necessario importare nell'applicazione il certificato Tomcat dal server Cisco IdS.

a. Nella console di amministrazione ECE, in Menu a livello di partizione, fare clic sull'opzione Sicurezza e selezionare Gestione certificati dal menu a sinistra.

b. Nello spazio Gestione certificati, fare clic sul pulsante Nuovo e immettere i dettagli appropriati:

- Nome: digitare un nome per il certificato.

- Descrizione: aggiungere una descrizione per il certificato.

- Tipo di componente: selezionare CISCO IDS.

- Importa certificato: per importare il certificato, fare clic sul pulsante Cerca e aggiungi e immettere i dettagli richiesti:

- File certificato: fare clic sul pulsante Sfoglia e selezionare il certificato che si desidera importare. I certificati possono essere importati solo nei formati .pem, .der (BINARY) o .cer/cert.

- Nome alias: specificare un alias per il certificato.

c. Fare clic su Salva

Configurazione di Single Sign-On dell'agente

Passaggio 14

1. Nella console di amministrazione ECE, in Menu a livello di partizione, fare clic sull'opzione Protezione, quindi selezionare Single Sign-On > Configurazioni dal menu a sinistra.

2. Nell'elenco a discesa Seleziona configurazione, selezionare Agent e impostare la configurazione nella scheda Generale:

- Abilita Single Sign-On: fare clic sul pulsante Attiva/disattiva per abilitare l'SSO.

- Tipo Single Sign-On: selezionare Cisco IDS.

Passaggio 15

Fare clic sulla scheda Configurazione SSO e fornire i dettagli di configurazione:

a. Provider di connessione OpenID

URL endpoint informazioni utente primario

- URL dell'endpoint di informazioni utente del server Cisco IDS primario.

- Questo URL convalida l'API token utente/informazioni utente.

- Il formato è: https://cisco-ids-1:8553/ids/v1/oauth/userinfo dove cisco-ids-1 indica il nome di dominio completo (FQDN) del server Cisco IDS primario.

Nome attestazione d'identità utente

- Nome dell'attestazione restituita dall'URL dell'endpoint di informazioni utente, che identifica il nome utente in Unified o Packaged CCE.

- Il nome dell'attestazione e il nome utente in Unified o Packaged CCE devono corrispondere.

- Questa è una delle attestazioni ottenute in risposta alla convalida del token Bearer.

- Se il nome utente degli agenti in Unified o Packaged CCE corrisponde al nome dell'entità utente, specificare "upn" come valore per il campo Nome attestazione identità utente.

- Se il nome utente degli agenti in Unified o Packaged CCE corrisponde al nome account SAM, fornire "sub" come valore per il campo Nome attestazione identità utente.

URL endpoint informazioni utente secondario

- URL dell'endpoint di informazioni utente secondario del server Cisco IDS.

- Il formato è il seguente: https://cisco-ids-2:8553/ids/v1/oauth/userinfo dove cisco-ids-2 indica il nome di dominio completo (FQDN) del server Cisco IDS secondario.

Metodo URL endpoint informazioni utente

- Metodo HTTP utilizzato da ECE per eseguire chiamate di convalida del token Bearer all'URL dell'endpoint di informazioni utente.

- Selezionare POST dall'elenco di opzioni presentato (POST è selezionato qui per corrispondere al metodo del server IDS).

POST: metodo utilizzato per inviare dati al server Cisco IDS all'endpoint specificato.

Durata cache token di accesso (secondi)

- Durata, in secondi, della memorizzazione nella cache in ECE di un token Bearer.

- I token di connessione per i quali le chiamate di convalida hanno esito positivo vengono archiviati solo nelle cache. (Valore minimo: 1; valore massimo: 30)

Consenti accesso SSO all'esterno di Finesse

- Fare clic su questo pulsante Attiva/disattiva se si desidera consentire agli utenti con ruoli di amministratore o supervisore di accedere alla partizione ECE all'esterno di Finesse utilizzando le credenziali di accesso SSO.

- Se questa opzione è abilitata, è necessario fornire le informazioni nelle sezioni Identity Provider e Service Provider.

- È quindi necessario che la configurazione IdP consenta un server IdP condiviso.

b. Provider di identità

ID entità

- ID entità del server IdP.

Nota: questo valore deve corrispondere esattamente al valore 'Identificatore servizio federativo' nella console Gestione AD FS.

Certificato provider di identità

- Il certificato della chiave pubblica.

- Il certificato deve iniziare con "—BEGIN CERTIFICATE—" e terminare con "—END CERTIFICATE—"

- Certificato per la firma di token in Console di gestione AD FS > Servizio > Certificati > Firma di token.

Percorso identità utente

- Selezionare SAML Subject Identifier per impostare la posizione dell'identità nel certificato sull'identificativo soggetto SAML predefinito, come nel soggetto nell'asserzione SAML, ad esempio il nome utente in <saml:Subject>.

- Selezionare Attributo SAML per assegnare la posizione dell'identità a un attributo specifico nel certificato, ad esempio email.address. Specificare l'attributo nel campo Nome attributo identità utente.

Nome attributo identità utente

- Applicabile solo quando il valore Posizione ID utente è un attributo SAML.

- Questa impostazione può essere modificata all'interno dell'asserzione SAML e utilizzata per selezionare un attributo diverso per l'autenticazione degli utenti, ad esempio un indirizzo di posta elettronica.

- Può inoltre essere utilizzato per creare nuovi utenti con un attributo SAML.

- Ad esempio, se un utente viene identificato tramite il valore fornito nell'attributo email.address e il valore dell'indirizzo di posta elettronica fornito non corrisponde ad alcun utente del sistema, viene creato un nuovo utente con gli attributi SAML forniti.

Abilita asserzione crittografata (facoltativo)

- Se si desidera abilitare l'asserzione crittografata con il provider di identità per l'accesso alla console, fare clic sul pulsante Attiva/disattiva e impostare il valore su Abilitato.

- In caso contrario, impostare il valore su Disabled.

Certificato decrittografia asserzione

Se l'opzione Abilita asserzione crittografata è impostata su Abilitato, fare clic sul pulsante Cerca e aggiungi e confermare la modifica del certificato.

Specificare i dettagli nella finestra Certificato decrittografia asserzione:

- File keystore Java: fornire il percorso del file keystore Java. Il file è in formato .jks e contiene la chiave di decrittografia necessaria al sistema per accedere ai file protetti dal provider di identità.

- Nome alias: l'identificatore univoco della chiave di decrittografia.

- Password keystore: la password necessaria per accedere al file keystore Java.

- Password chiave: la password necessaria per accedere alla chiave di decrittografia dell'alias.

Nota: è necessario che corrisponda al certificato nella scheda 'Crittografia' dell'attendibilità componente ECE configurata nella console di gestione AD FS.

c. Fornitore di servizi

Autenticazione avviata dal provider di servizi

- Impostare l'interruttore su Enabled.

ID entità

- Fornire l'URL esterno dell'applicazione ECE.

Richiedi certificato di firma

- È necessario un certificato Java Keystore (JKS) per fornire le informazioni necessarie.

- Caricare il file .jks utilizzando il nome alias e la password keystore/key generati nel passaggio 11.

Nota: è necessario che corrisponda al certificato caricato nella scheda 'Firma' dell'attendibilità componente ECE configurata nella console di gestione AD FS.

Algoritmo di firma

- Impostare l'algoritmo di firma per il provider di servizi.

- Se si utilizza ADFS, questo valore deve corrispondere all'algoritmo selezionato nell'attendibilità del componente creata per ECE nella scheda Avanzate.

URL di accesso al provider di identità

- URL per l'autenticazione SAML.

- Per ADFS, ad esempio, questo valore è http://<ADFS>/adfs/ls.

URL di disconnessione del provider di identità

- URL a cui gli utenti vengono reindirizzati dopo la disconnessione. Questo valore è facoltativo e può essere qualsiasi URL.

- Ad esempio, gli agenti possono essere reindirizzati a https://www.cisco.com o a qualsiasi altro URL dopo la disconnessione da SSO.

Passaggio 16

Fare clic su Salva.

Impostare l'URL del server Web o del bilanciamento del carico nelle impostazioni della partizione

Passaggio 17

Assicurarsi che sia stato immesso l'URL corretto del server Web/bilanciamento carico in Impostazioni partizione > selezionare la scheda Apps e passare a Impostazioni generali > URL esterno dell'applicazione

Configurazione di SSO per gli amministratori della partizione

Nota:

- Questo passaggio è valido solo per PCCE.

- Questo è per il gadget ECE a cui si accede tramite l'interfaccia WEB CCE Admin https:///cceadmin.

Passaggio 18

Per configurare SSO per l'amministratore delle partizioni

1. Nella console di amministrazione ECE, in Menu a livello di partizione, fare clic sull'opzione Security, quindi selezionare Single Sign-On > Configurations dal menu a sinistra.

2. Nell'elenco a discesa Seleziona configurazione, selezionare Amministratori partizioni e immettere i dettagli di configurazione:

URL LDAP

- URL del server LDAP.

- Può trattarsi dell'URL del controller di dominio (ad esempio, ldap://LDAP_server:389) o dell'URL del catalogo globale (ad esempio, ldap://LDAP_server:3268) del server LDAP.

- La partizione può essere aggiunta automaticamente al sistema quando si accede a ECE tramite la console di amministrazione CCE, se ECE è configurato con la ricerca LDAP.

- Tuttavia, nelle distribuzioni di Active Directory con più domini in una singola foresta o in cui sono configurati UPN alternativi, non utilizzare l'URL del controller di dominio con le porte LDAP standard 389 e 636.

- L'integrazione LDAP può essere configurata per utilizzare l'URL del catalogo globale con le porte 3268 e 3269.

Nota: è buona norma utilizzare URL del catalogo globale. Se non si utilizza un catalogo globale, di seguito viene riportato un errore nei registri di ApplicationServer.

- Eccezione nell'autenticazione LDAP <@>

javax.naming.PartialResultException: riferimenti di continuazione non elaborati; nome rimanente 'DC=example,DC=com'

Attributo DN

- Attributo del DN che contiene il nome di accesso dell'utente.

- Ad esempio, userPrincipalName.

Base

- Il valore specificato per Base viene utilizzato dall'applicazione come base di ricerca.

- Base di ricerca è la posizione iniziale per la ricerca nella struttura di directory LDAP.

- Ad esempio, DC=società, DC=com.

DN per ricerca LDAP

- Se il sistema LDAP non consente l'associazione anonima, fornire il nome distinto (DN) di un utente che dispone di autorizzazioni di ricerca nella struttura di directory LDAP.

- Se il server LDAP consente l'associazione anonima, lasciare vuoto questo campo.

Password

- Se il sistema LDAP non consente l'associazione anonima, fornire la password di un utente che dispone delle autorizzazioni di ricerca nella struttura di directory LDAP.

- Se il server LDAP consente l'associazione anonima, lasciare vuoto questo campo.

Passaggio 19

Fare clic su Salva.

In questo modo viene completata la configurazione Single Sign-On per gli agenti e gli amministratori delle partizioni in ECE.

Risoluzione dei problemi

Impostazione del livello di traccia

1. Nella console di amministrazione ECE, in Menu a livello di partizione, fare clic sull'opzione Risorse di sistema e quindi selezionare Process Logs dal menu a sinistra.

2. Dall'elenco dei processi, selezionare il processo ApplicationServer > impostare il livello di traccia desiderato dal menu a discesa 'Livello di traccia massimo'.

Nota:

- Per la risoluzione degli errori di accesso SSO durante la configurazione iniziale o la riconfigurazione, impostare la traccia del processo di ApplicationServer sul livello 7.

- Una volta riprodotto l'errore, ripristinare il livello di traccia predefinito 4 per evitare la sovrascrittura dei log.

Risoluzione dei problemi dello scenario 1

Errore

- Codice errore: 500

- Descrizione dell'errore: l'applicazione non è in grado di accedere all'utente in questo momento perché l'accesso al provider di identità non è riuscito.

Analisi log

- Accesso a IdP non riuscito - <samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder" /></samlp:Status>

- In questo caso, lo stato "Risponditore" indica la presenza di un problema sul lato AD FS, in questo caso principalmente con il "Certificato di firma della richiesta" caricato sulla console di amministrazione ECE (Configurazione SSO > Provider di servizi) e il certificato caricato nell'attendibilità del componente ECE nella scheda 'Firma'.

- Si tratta del certificato generato utilizzando il file keystore Java.

Registri di Application Server - Livello di traccia 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 <@>

Risoluzione

- Fare riferimento alla configurazione 'Request Signing Certificate' nella sezione 'Configuring Agent Single Sign-On - Service Provider'.

- Accertarsi che il file Java Keystore .jks generato nel passo 11 sia caricato nel campo "Request Signing Certificate" (Certificato di firma richiesta) della console di amministrazione ECE in Configurazione SSO > Selezionare la configurazione 'Agent' > scheda 'Configurazione SSO' > Provider di servizi > Certificato di firma richiesta.

- Verificare che il file .crt venga caricato nella scheda 'Firma' dell'attendibilità componente ECE (passaggio 12).

Scenario di risoluzione dei problemi 2

Errore

- Codice errore: 400

- Descrizione errore: token di risposta SAML non valido. Convalida della firma non riuscita.

Analisi log

- Questo errore indica una mancata corrispondenza nel certificato tra il 'certificato per la firma di token' in ADFS e il 'certificato del provider di identità' nella configurazione SSO ECE.

Registri di Application Server - Livello di traccia 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 <@>

Risoluzione

- L'errore rilevato nel frammento di registro 'Impossibile analizzare il certificato: java.io.IOException: Incomplete data' indica che il contenuto 'Identity Provider Certificate' non è stato immesso correttamente

- Per risolvere il problema: In Gestione AS FS > AD FS > Servizio > Certificati > Firma token > Esporta il certificato > Apri in un editor di testo > Copia tutto il contenuto > Incolla in 'Certificato provider di identità' archiviato nella configurazione SSO > Salva.

- Fare riferimento alla configurazione 'Certificato provider di identità' nella sezione 'Configurazione del servizio Single Sign-on dell'agente - Provider di identità' (passaggio 15).

Scenario di risoluzione dei problemi 3

Errore

- Codice di errore: 401-114

- Descrizione errore: impossibile trovare l'identità utente nell'attributo SAML.

Analisi log

Registri di Application Server - Livello di traccia 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() <@>

Risoluzione

- Questo errore indica un problema o una mancata corrispondenza nella configurazione nei campi 'Posizione identità utente' e 'Nome attributo identità utente'.

- Controllare e correggere i parametri 'Posizione identità utente' e 'Nome attributo identità utente' nella console di amministrazione ECE, in Single Sign-On > Configurazioni > nell'elenco a discesa Seleziona configurazione, selezionare Agente > scheda Configurazione SSO > Identifica provider (passo 15).

Informazioni correlate

Questi sono i documenti chiave che è necessario esaminare attentamente prima di iniziare qualsiasi installazione o integrazione ECE. Non si tratta di un elenco esaustivo di documenti ECE.

Nota:

- La maggior parte dei documenti ECE ha due versioni. Accertarsi di scaricare e utilizzare le versioni disponibili per PCCE. Il titolo del documento è per Packaged Contact Center Enterprise o (Per PCCE) o (Per UCCE e PCCE) dopo il numero di versione.

- Prima di procedere all'installazione, all'aggiornamento o all'integrazione, verificare se nella pagina iniziale della documentazione di Cisco Enterprise Chat and Email sono disponibili aggiornamenti.

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

ECE versione 12.6(1)

- Guida per l'amministratore di Enterprise Chat and Email