Come posso risolvere gli errori di risposta SAML non valido che gli utenti ricevono quando si federano in Amazon Cognito?
Desidero risolvere gli errori che gli utenti ricevono quando si federano in Amazon Cognito con SAML 2.0.
Risoluzione
Visualizza le risposte SAML
Nel browser, esamina la risposta SAML che il gestore dell'identità digitale ha inviato ad Amazon Cognito.
Nota: l'elemento SAMLResponse contiene una risposta con codifica base64. Se vedi una percentuale (%) di caratteri nel payload, la risposta ha una codifica URL e base64. In questo caso, esegui la decodifica dell'URL sul valore SAMLResponse, quindi applica la decodifica base64.
Controlla le mappature degli attributi
"The attribute is required"
Ricevi il seguente messaggio di errore:
"Invalid SAML response received: Invalid user attributes: <attribute_name>: The attribute is required"
Per risolvere il problema, completa i seguenti passaggi:
- Apri la console Amazon Cognito.
- Nel pannello di navigazione scegli Pool di utenti, quindi seleziona il pool di utenti.
- In Esperienza di registrazione, annota gli attributi richiesti che hai configurato.
- Verifica se hai configurato le mappature degli attributi per il pool di utenti. Se non hai mappato gli attributi, specificane le mappature.
- Recupera la risposta SAML nel browser.
- Nel campo AttributeStatement, verifica se il gestore dell'identità digitale include gli attributi richiesti.
- Nella configurazione della mappatura degli attributi del gestore dell'identità digitale, verifica di averlo impostato per inviare gli attributi richiesti con le mappature corrette.
Nota: il gestore dell'identità digitale potrebbe utilizzare nomi semplici per le mappature degli attributi, ad esempio un indirizzo email o un formato URL. Un esempio di nome di attributo in formato URL è http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress.
"Required attribute cannot be deleted"
Ricevi il seguente messaggio di errore:
"Invalid SAML response received: Invalid user attributes: <attribute_name>: Required attribute cannot be deleted"
Questo errore si verifica quando il gestore dell'identità digitale imposta un attributo obbligatorio su null, elimina un attributo obbligatorio o rimuove una mappatura degli attributi dopo la creazione dell'utente.
Per risolvere il problema, mappa tutti gli attributi richiesti e configura il gestore dell'identità digitale in modo che invii i valori corretti per gli attributi.
Per ulteriori informazioni, consulta Cose da sapere sulle mappature.
Verifica gli attributi immutabili
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Ricevi il seguente messaggio di errore:
"Invalid SAML response received: Invalid user attributes: <attribute_name>: Attribute cannot be updated"
Questo errore si verifica quando il gestore dell'identità digitale passa un attributo mappato su un attributo Amazon Cognito immutabile. Dopo aver creato un pool di utenti, non puoi modificare la mutabilità degli attributi.
Per risolvere il problema, completa i seguenti passaggi:
- Esegui questo comando describe-user-pool:
Nota: sostituisci USER-POOL-ID con l'ID del pool di utenti.aws cognito-idp describe-user-pool --user-pool-id USER-POOL-ID --query 'UserPool.SchemaAttributes[?Mutable==`false`].Name' - Nell'output del comando, annota tutti gli attributi immutabili.
- Apri la console Amazon Cognito.
- Nelle mappature degli attributi SAML per il gestore dell'identità digitale, controlla se gli attributi SAML sono mappati sugli attributi Amazon Cognito immutabili. Se un attributo SAML è mappato su un attributo immutabile, elimina la mappatura.
Nota: se devi mappare l'attributo SAML, associalo a un attributo mutabile esistente. Puoi anche creare un attributo mutabile personalizzato che puoi mappare sull'attributo SAML.
Se hai bisogno di un attributo mappato, crea un nuovo pool di utenti con le impostazioni di mutabilità corrette e importa gli utenti nel nuovo pool di utenti.
Confronta i valori tra la risposta SAML e il file XML di metadati del gestore dell'identità digitale
Ricevi il seguente messaggio di errore:
"Invalid SAML response received: SAML Response signature is invalid"
Questo errore si verifica quando il gestore dell'identità digitale aggiorna il certificato di firma SAML. L'aggiornamento crea una mancata corrispondenza tra i valori X509Certificate nella risposta SAML e il file XML di metadati del gestore dell'identità digitale.
Per risolvere il problema, completa i seguenti passaggi:
- Scarica il file di metadati più recente nella pagina di configurazione dell'applicazione del gestore dell'identità digitale.
Nota: se il del gestore dell'identità digitale offre metadati SAML tramite un URL pubblico, puoi annotare l'URL del documento di metadati e inserire l'URL pubblico. - Apri la console Amazon Cognito.
- Nelle impostazioni di configurazione de del gestore dell'identità digitale SAML, sostituisci il file di metadati esistente con il nuovo file di metadati.
Controlla l'ID e l'URN dell'entità
Ricevi uno dei seguenti messaggi di errore:
"Invalid SAML response received: Audience restriction in SAML Assertion does not allow it for urn:amazon:cognito:sp:xxxxxxxx"
-oppure-
"Invalid SAML response received: Application with identifier 'urn:amazon:cognito:sp:xxxxxxxx' was not found"
Questi errori si verificano quando configuri un ID di entità errato nel gestore dell'identità digitale o utilizzi l'Uniform Resource Name (URN) di un altro pool di utenti.
Per risolvere il problema, completa i seguenti passaggi:
- Apri la console Amazon Cognito.
- Nel pannello di navigazione, scegli Pool di utenti, quindi seleziona il pool di utenti che desideri configurare per l'integrazione SAML.
- Nel pannello di navigazione, scegli Panoramica, quindi annota l'ID del pool di utenti.
- Nelle impostazioni dell'applicazione SAML del gestore dell'identità digitale, configura l'ID dell'entità nel formato urn:amazon:cognito:sp:USER-POOL-ID.
Nota: sostituisci USER-POOL-ID con l'ID del tuo pool di utenti Amazon Cognito.
Controlla la configurazione dell'URL ACS (Assertion Consumer Service) del gestore dell'identità digitale
Ricevi il seguente messaggio di errore:
"An error was encountered with the requested page"
Questo errore viene visualizzato nella pagina di accesso gestito di Amazon Cognito quando configuri erroneamente l'URL ACS (Assertion Consumer Service) del gestore dell'identità digitale. Amazon Cognito supporta solo l'associazione POST per l'endpoint. Il gestore dell'identità digitale deve inviare le risposte SAML nella richiesta POST all’endpoint. Se configuri erroneamente l'URL nell'applicazione delgestore dell'identità digitale, il gestore invierà la risposta SAML a un endpoint errato.
Per risolvere il problema, configura l'applicazione del gestore dell'identità digitale con il formato URL ACS corretto.
Un esempio di formato per un dominio predefinito del pool di utenti Amazon Cognito è https://YOUR-USER-POOL-DOMAIN.auth.REGION.amazoncognito.com/saml2/idpresponse.
Un esempio di formato per un dominio di pool di utenti personalizzato è https://YOUR-USER-POOL-DOMAIN/saml2/idpresponse.
Nota: sostituisci YOUR-USER-POOL-DOMAIN con il dominio del tuo pool di utenti.
Verifica il tipo di accesso supportato dal gestore dell'identità digitale
Ricevi uno dei seguenti messaggi di errore:
"An error was encountered with the requested page: Invalid relayState from identity provider"
-oppure-
"An error was encountered with the requested page: Invalid samlResponse or relayState from identity provider"
Questi errori si verificano nei flussi di accesso SAML avviati da gestore dell'identità digitale e avviati dal provider di servizi (SP) per i seguenti motivi:
- Il gestore dell’identità digitale ha impostato il parametro RelayState su null nella risposta SAML ad Amazon Cognito.
- Hai utilizzato la stessa applicazione del gestore dell'identità digitale con un pool di utenti diverso. Di conseguenza, l'URL ACS nella richiesta SAML non corrisponde all'URL ACS nella configurazione dell'applicazione del gestore dell'identità digitale.
Nota: per i flussi di accesso SAML avviati da SP, Amazon Cognito include un parametro RelayState nella richiesta di autenticazione al gestore dell'identità digitale. Dopo l'autenticazione, il gestore dell'identità digitale deve restituire il parametro RelayState ad Amazon Cognito. Per i flussi di accesso SAML avviati dal gestore dell'identità digitale, il gestore deve includere un parametro RelayState con l'asserzione SAML all'endpoint /saml2/idpresponse.
Per risolvere i problemi relativi a RelayState, stabilisci se il gestore dell'identità digitale SAML supporta solo l'accesso SAML avviato da SP o sia l'accesso SAML avviato dal gestore dell'identità digitale che l'accesso SAML avviato da SP.
Se il gestore dell'identità digitale supporta i flussi di accesso SAML avviati da SP, avvia il flusso di autenticazione da Amazon Cognito per avviare la richiesta di federazione. Puoi utilizzare l'endpoint di accesso gestito /login che reindirizza gli utenti all'endpoint di accesso. Oppure utilizza l'endpoint di reindirizzamento e autenticazione /oauth2/authorize.
Se il gestore dell’identità digitale supporta i flussi di accesso SAML avviati dal gestore dell’identità digitale, configura il gestore SAML con il parametro RelayState nel formato identity_provider=ID-PROVIDER-NAME&client_id=CLIENT-ID&redirect_uri=CALLBACK-URL&response_type=code&scope=openid+email+phone.
Nota: sostituisci ID-PROVIDER-NAME con il nome del tuo gestore dell'identità digitale SAML. Inoltre, sostituisci CLIENT-ID con l'ID del client di app per il tuo pool di utenti e CALLBACK-URL con l'URL di callback per l'ID del tuo client di app.
Per risolvere i problemi relativi agli URL ACS, completa i seguenti passaggi:
- Crea un file HTTP Archive (HAR).
- Nel browser, nella scheda Rete, individua la richiesta con un voce saml?SamlRequest.
- Annota quanto riportato nei parametri della richiesta per SAMLRequest.
- Utilizza lo strumento di decodifica SAML che preferisci per decodificare SAMLRequest.
- Confronta l'URL ACS nella richiesta decodificata con quello nella configurazione del gestore dell'identità digitale.
Se gli URL sono diversi, aggiorna la configurazione del gestore dell'identità digitale in modo che corrisponda all'URL ACS in SAMLRequest. Quindi avvia la richiesta di federazione dal pool di utenti corretto.
- Argomenti
- Security, Identity, & Compliance
- Lingua
- Italiano
