IBM Cloud Docs
Perché la mia richiesta di autenticazione SAML ha avuto esito negativo?

Perché la mia richiesta di autenticazione SAML ha avuto esito negativo?

Si incontrano problemi con l'autenticazione SAML.

Perché la firma del messaggio SAML non può essere convalidata?

Quando verifichi la tua applicazione, ricevi il seguente messaggio di errore:

The SAML message signature could not be validated

Questo errore si verifica quando App ID non può verificare la firma inviata da SAML.

Per risolvere il problema, verifica che Inbound Signature sia impostato su None nella tua configurazione.

Perché manca il parametro RelayState dalla mia risposta di autenticazione?

Il parametro RelayState manca dalla tua risposta di autenticazione.

App ID invia un parametro opaco noto come RelayState come parte della richiesta di autenticazione. Se non vedi il parametro nella tua risposta, il tuo provider di identità potrebbe non essere configurato per restituirlo correttamente. RelayState ha il seguente formato.

https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&RelayState=token

Verifica che il tuo provider SAML sia configurato per restituire il parametro RelayState a App ID senza modificarlo in alcun modo.

Perché sto ricevendo un errore sul mio ID Name?

Quando invii una richiesta di autenticazione, ricevi un errore relativo a NameID.

App ID, come provider di servizi, definisce il modo in cui vengono identificati gli utenti dal servizio e dal provider di identità. Con App ID, gli utenti vengono identificati nella richiesta di autenticazione NameID nel campo NameID come mostrato nel seguente esempio.

<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>

Per risolvere il problema, assicurati che il tuo provider di identità NameID sia formattato come un indirizzo email. Verificare che tutti gli utenti del registro del provider di identità abbiano un formato di indirizzo e-mail valido. Quindi, verificare che il campo NameID sia definito correttamente in modo da restituire sempre un'e-mail valida, anche se gli utenti del registro hanno più e-mail.

Errore di decrittografia della risposta

Ricevi uno dei seguenti messaggi di errore in risposta alla tua richiesta di autenticazione.

Messaggio di errore 1:

Unexpectedly received an encrypted assertion. Please enable response encryption in your App ID SAML configuration.

Messaggio di errore 2:

Could not decrypt SAML assertion. Ensure your SAML provider is configured with the App ID encryption.

Se il tuo provider di identità è configurato per la crittografia, App ID deve essere configurato per firmare le richieste di autenticazione SAML (AuthnRequest). Quindi, il tuo provider di identità deve essere configurato per attendersi la configurazione corrispondente. Potresti ricevere questi errori per uno dei seguenti motivi:

  • App ID non è configurato per aspettarsi che la risposta SAML del provider di identità sia crittografata.
  • App ID non può decrittografare correttamente le tue asserzioni.

Se ricevi il messaggio di errore 1, verifica che la tua configurazione SAML sia configurata per aspettarsi una risposta crittografata. Per impostazione predefinita, App ID non si aspetta che la risposta sia crittografata. Per configurare la crittografia, imposta il parametro encryptResponse su true utilizzando l'API.

Se ricevi il messaggio di errore 2, assicurati che il tuo certificato sia corretto. Puoi ottenere il certificato di firma dal file XML di metadati App ID. Assicurarsi di utilizzare la chiave con <KeyDescriptor use="signing">. Verifica che il tuo provider di identità sia configurato all'utilizzo di `` come algoritmo di firma.

Codice di errore del risponditore

Quando si invia una richiesta di autenticazione, si riceve il seguente messaggio di errore generico:

urn:oasis:names:tc:SAML:2.0:status:Responder

Anche se App ID invia la richiesta di autenticazione iniziale, il provider di identità deve eseguire l'autenticazione utente e restituire la risposta. Ci sono diversi motivi che possono indurre il vostro fornitore di identità a produrre questo messaggio di errore.

Potresti visualizzare il messaggio se il tuo provider di identità:

  • Non riesce a trovare o verificare il nome utente.
  • Non supporta il formato NameID definito nella richiesta di autenticazione (AuthnRequest).
  • Non supporta il contesto di autenticazione.
  • Richiede che la richiesta di autenticazione sia firmata o utilizzi un algoritmo specifico nella firma.

Per risolvere il problema, verifica la tua configurazione e il tuo nome utente. Verifica di aver definito le variabili e il contesto di autenticazione corretti. Verificate se la vostra richiesta deve essere firmata in un modo specifico.

Richiesta di autenticazione non supportata

Si riceve un messaggio relativo a una richiesta di autenticazione non supportata.

Quando App ID genera una richiesta di autenticazione, può utilizzare il contesto di autenticazione per richiedere la qualità dell'autenticazione e delle asserzioni SAML.

Per risolvere il problema, puoi aggiornare il tuo contesto di autenticazione. Per impostazione predefinita, App ID utilizza la classe di autenticazione urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport e il confronto exact. Puoi aggiornare il parametro di contesto per adattarsi al tuo caso di utilizzo utilizzando le API.

Errore di firma della richiesta SAML

Ricevi un errore che indica che una richiesta di autenticazione non può essere verificata.

App ID può essere configurato per firmare la richiesta di autenticazione SAML (AuthNRequest), ma il tuo provider di identità deve essere configurato per attendersi la configurazione corrispondente.

Per risolvere il problema:

  • Verifica che IBM Cloud sia configurato per firmare la richiesta di autenticazione impostando il parametro signRequest su true utilizzando l'API set SAML IdP. Si può verificare se la richiesta di autenticazione è firmata guardando la richiesta URL. La firma è inclusa come un parametro di query. Ad esempio, https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&SigAlg=value&Signature=value&RelayState=token

  • Verifica che il tuo provider di identità sia configurato con il certificato corretto. Per ottenere il certificato di firma, controllare il file XML dei metadati di IBM Cloud scaricato dalla dashboard IBM Cloud. Assicurarsi di utilizzare la chiave con <KeyDescriptor use="signing">.

  • Verifica che il tuo provider di identità sia configurato all'utilizzo di `` come algoritmo di firma.

Perché il mio metodo di autenticazione non corrisponde?

Si riceve un messaggio che indica che il metodo di autenticazione fornito non corrisponde al metodo di autenticazione richiesto.

Ad esempio:

AADSTS75011: Authentication method ‘X509, Multifactor, X509Device’ by which the user authenticated with the service doesn't match requested authentication method 'Password, ProtectedTransport'.

Quando App ID genera una richiesta di autenticazione, il contesto di autenticazione viene utilizzato per richiedere la qualità dell'autenticazione e delle asserzioni SAML.

Per impostazione predefinita, App ID utilizza il confronto tra urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport e exact in authnContext come documentato in Understanding SAML, mentre si sta cercando di utilizzare un metodo di autenticazione diverso. Nell'esempio fornito viene utilizzato il metodo di autenticazione X509, Multifactor.

Per risolvere il problema, è possibile aggiornare l'impostazione del contesto di autenticazione per entrambi i valori class e comparison nel SAML authnContext. Per aggiornare il parametro del contesto in base al proprio caso d'uso, è possibile utilizzare l'API.

In alternativa, è possibile impostare un authnContext vuoto nella configurazione SAML, come mostrato nell'esempio seguente.

  "authnContext": { }