Cookie relativo alla sessione di login mancante, e' necessario effettuare una nuova login non specificato
MithrandirTheWizard opened this issue · comments
Il componente è integrato con IdentityServer per permettere la login SPID.
In configurazione sono stati specificati i metadati e l'EntityId dell'Ente su cui è possibile effettuare la login SPID.
Si è riscontrato un problema con un utente SPID con gestore PosteId il quale non riesce ad accedere al sistema.
Ricercando nei log è stato trovato il seguente errore:
SPID.AspNetCore.Authentication.SpidHandler[3]
Exception occurred while processing message.
System.Exception: Cookie relativo alla sessione di login mancante, e' necessario effettuare una nuova login non specificato
at SPID.AspNetCore.Authentication.Helpers.BusinessValidation.ValidationNotNull(Object input, String nameVariable)
at SPID.AspNetCore.Authentication.AuthenticationPropertiesExtensions.Load(AuthenticationProperties properties, HttpRequest request, ISecureDataFormat`1 encryptor)
at SPID.AspNetCore.Authentication.SpidHandler.HandleRemoteAuthenticateAsync()
SPID.AspNetCore.Authentication.SpidHandler[4]
Error from RemoteAuthentication: Object reference not set to an instance of an object..
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
An unhandled exception has occurred while executing the request.
System.Exception: An error was encountered while handling the remote login.
---> System.NullReferenceException: Object reference not set to an instance of an object.
Premetto che l'errore si presenta solo per un utente, provando con altri il problema non sussiste e l'accesso viene effettuato correttamente.
Dal codice pubblicato vedo che questo messaggio di errore è causato o dalla mancanza del cookie o dal mancato caricamento di alcune proprietà dal suddetto cookie.
È possibile che l'errore sia dovuto dal client chiamante o si deve verificare qualcosa nella configurazione?
Salve,
se l'errore si verifica soltanto per un utente e soltanto per un IdP, è probabile che l'errore non dipenda dalla configurazione, ma, appunto, dal client chiamante, che omette di inviare il cookie necessario o ne invia uno malformato (nel qual caso fallisce la operazione di Unprotect).
Sarebbe opportuno indagare su questo aspetto ed eventualmente confrontare i cookie inviati dal client in oggetto e quelli inviati da un client che invece riesce ad eseguire con successo l'operazione di login.
Chiudo per inattività