italia / cie-aspnetcore

AspNetCore Remote Authenticator for CIE 3.0
https://github.com/danielegiallonardo/cie-aspnetcore
MIT License
17 stars 4 forks source link

The given key 'LogoutRequest' was not present in the dictionary #17

Open andreakarasho opened 6 months ago

andreakarasho commented 6 months ago

Buongiorno, riceviamo in produzione questo errore quando si tenta il logout:

System.Collections.Generic.KeyNotFoundException: The given key 'LogoutRequest' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at CIE.AspNetCore.Authentication.AuthenticationPropertiesExtensions.GetLogoutRequest(AuthenticationProperties properties)
   at CIE.AspNetCore.Authentication.CieHandler.HandleRemoteSignOutAsync()
   at IdentityServer4.Hosting.FederatedSignOut.AuthenticationRequestHandlerWrapper.HandleRequestAsync()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

Questa è la configurazione CIE:

"Provider": {
        "Name": "CIE Produzione",
        "OrganizationName": "CIE Produzione",
        "OrganizationDisplayName": "CIE Produzione",
        "OrganizationUrlMetadata": "https://idserver.servizicie.interno.gov.it/idp/shibboleth?Metadata",
        "OrganizationUrl": "https://www.interno.gov.it/it",
        "OrganizationLogoUrl": "",
        "SingleSignOnServiceUrlPost": "https://idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SSO",
        "SingleSignOutServiceUrlPost": "https://idserver.servizicie.interno.gov.it/idp/profile/SAML2/POST/SLO",
        "SingleSignOnServiceUrlRedirect": "https://idserver.servizicie.interno.gov.it/idp/profile/SAML2/Redirect/SSO",
        "SingleSignOutServiceUrlRedirect": "https://idserver.servizicie.interno.gov.it/idp/profile/SAML2/Redirect/SLO",
        "Type": "StagingProvider"
      },
danielegiallonardo commented 6 months ago

Salve, è probabile che il valore non sia più presente all'interno dei Cookie, probabilmente è una sessione rimasta aperta da troppo tempo, per cui i cookie ormai sono scaduti. Si verifica sistematicamente sul logout?

andreakarasho commented 6 months ago

Purtroppo il problema avviene anche subito dopo aver effettuato il login. Si presente sempre e solo sul logout. Anche SPID [tramite validator di test] ne è affetto seppur qualche volta da esito positivo.