i8beef / SAML2

Other
88 stars 43 forks source link

Value cannot be null at SAML2.State.CacheStateService.Set(String key, Object value) #71

Closed saifiqbal10P closed 3 years ago

saifiqbal10P commented 3 years ago

started facing this issue. Error details attached below. Can anyone help?

Error Message : Value cannot be null. Parameter name: value

Stack Trace: at SAML2.State.CacheStateService.Set(String key, Object value) at SAML2.Protocol.Saml20SignonHandler.DoSignOn(HttpContext context, Saml20Assertion assertion) at SAML2.Protocol.Saml20SignonHandler.HandleAssertion(HttpContext context, XmlElement elem) at SAML2.Protocol.Saml20SignonHandler.HandleResponse(HttpContext context) at SAML2.Protocol.Saml20SignonHandler.Handle(HttpContext context) at SAML2.Protocol.Saml20AbstractEndpointHandler.ProcessRequest(HttpContext context)

i8beef commented 3 years ago

Where you are at, it is caching information about the response, specifically here: https://github.com/i8beef/SAML2/blob/master/src/SAML2/Protocol/Saml20SignonHandler.cs#L333

Can you look at your SAML response and see if you are missing on of these values?

saifiqbal10P commented 3 years ago

Done some debugging on saml2 project. Crashing on this line mentioned below. SessionIndex is null.

StateService.Set(IdpSessionIdKey, assertion.SessionIndex);

Saml Response:

PFJlc3BvbnNlIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iIElEPSJfNzA4N2U2MjQtODc4Mi00Nzg2LWExNDgtMmZlYTM5YjIxNDg5IiBWZXJzaW9uPSIyLjAiIElzc3VlSW5zdGFudD0iMjAyMS0wNC0wOFQyMDoxNjo1OVoiIEluUmVzcG9uc2VUbz0iaWQ2NWM4ZTQ5ZTYwOTE0ZjI4OTE4YjU1NGMwZWUyNmQ5MSIgRGVzdGluYXRpb249Imh0dHA6Ly9sb2NhbGhvc3Q6NTkzMzEvTG9naW4uYXNoeCI+PHNhbWw6SXNzdWVyPmh0dHBzOi8vd3d3LnRob21zb25yZXV0ZXJzLmNvbS9FaWtvbi9TYW1sPC9zYW1sOklzc3Vlcj48U3RhdHVzPjxTdGF0dXNDb2RlIFZhbHVlPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6c3RhdHVzOlN1Y2Nlc3MiIC8+PC9TdGF0dXM+PEFzc2VydGlvbiB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiIgSUQ9Il82YzAwYjQ0OC01MWQ0LTRjNGYtODQxMC05MjM5N2E4YTNjNjkiIFZlcnNpb249IjIuMCIgSXNzdWVJbnN0YW50PSIyMDIxLTA0LTA4VDIwOjE2OjU5WiI+PElzc3Vlcj5odHRwczovL3d3dy50aG9tc29ucmV1dGVycy5jb20vRWlrb24vU2FtbDwvSXNzdWVyPjxTaWduYXR1cmUgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxTaWduZWRJbmZvPjxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiIC8+PFNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNyc2Etc2hhMSIgLz48UmVmZXJlbmNlIFVSST0iI182YzAwYjQ0OC01MWQ0LTRjNGYtODQxMC05MjM5N2E4YTNjNjkiPjxUcmFuc2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjZW52ZWxvcGVkLXNpZ25hdHVyZSIgLz48L1RyYW5zZm9ybXM+PERpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIiAvPjxEaWdlc3RWYWx1ZT5xZUtDRVFkRHpWck1jd0NLSGo0WmtvRWxCRjQ9PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48L1NpZ25lZEluZm8+PFNpZ25hdHVyZVZhbHVlPlpPQTVZUWZoY0hQWWxZaC92d2grMC92UFR0MkovTEMzTGRrS2tQNU1OdjBXeVV5Rkw4Vk5nOWRtekRObFRsR2Fud1lqbFNSTEVvRFBuTmFEK3dNejVidVBiZUlVOGhrNnJoWTJTM2kvK1V6T1dhUXlBTUs1azBvSWdKTFFubSs0bVZPMnNpQzlWREtjaUtSMURoblRjcXVsVGpJR0FlNkJYY3RoWjhuVzI4YnFZRlpzTEtVUWFhTmNMYjY4V2NaWFhDRzExbEpxRXdqTjZBR095SXErWEVSbTFYWjBQWndtSzFuSFd2WnIzek80dHJMRjE0TS9MR2VTbXp2cCtVc0pzQWJuMXBXWjlydEN5VHlPM0wrZzk4ODBRSStUYWJncVFyaWF3YkY4RTRMYVBOMEFBanQ1MWlhMVVQZ01vNlZJNkdvN0RUM0ZDQXpvbDdEYWV4WEZhZz09PC9TaWduYXR1cmVWYWx1ZT48S2V5SW5mbz48WDUwOURhdGE+PFg1MDlDZXJ0aWZpY2F0ZT5NSUlDMWpDQ0FiNENDUUMydCtqRzV2UmxVVEFOQmdrcWhraUc5dzBCQVFVRkFEQXRNUnN3R1FZRFZRUURFeEowYUc5dGMyOXVjbVYxZEdWeWN5NWpiMjB4RGpBTUJnTlZCQW9UQlVWcGEyOXVNQjRYRFRFMk1EY3lOakl4TVRZek5Wb1hEVEkyTURjeU5ESXhNVFl6TlZvd0xURWJNQmtHQTFVRUF4TVNkR2h2YlhOdmJuSmxkWFJsY25NdVkyOXRNUTR3REFZRFZRUUtFd1ZGYVd0dmJqQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxSVVpVWWNoa2RwQlpjNW5xZGdtWVVVc1U1TTd1eEhFRGRqUExmZ1k0ekJxQkxjeitPWDFpUkxuY01rdjNZeHA1YlVyUUZPTGFIcGRCZ0w4SCt2RGhmeEx0Y0V6cmRYVW15UFZUUXFibnRKOHQ1UUtOc1JoT25kaUNaQjV3NUJOa21aK1Z0OHIwczVxelZrVVJhdTYvUnkxN0J4dHJMY3FXcTk5UDRUVlp0WnA1Z3lQcTIzanNLQzUramQ4ME5FaDgvNExUVG4wU25jcW1lODdmY094RVVqdnY4eTlFejE2OUx2OVJHYTlvQ1hFWVFkOU9ONXpQRVJtakQvd0JKZjE4UnVFam11Q2g1ZE9rczlOeU1mQzRGUS9IK0llejRCaE1HK3M3UGk2b2xhQzU4N1RyRDl6ZDNhQnk3eEtpQjNldVRMUkdrQTBYdURDemN1dTdRTUhEY0NBd0VBQVRBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQVk4YVZEcnRpZ2NCa2pKcGkwZFFLdWxiQUgxMzdBRlZua2tObnJNbEZWck9rMWlQOHNkRnJpM0ViZWR1cmpvVGdQaWsyMW1sQVIzV216RlozUmI0emMwdDB1NjVSVTNuNWdpVE85TXVpMlp3SkV1Yml3dGtKcTlEdzQyWXMxdUdlVVFlcy9UeTdmb2VzSzAxdTN3QkRERkE1Z1BSNGRsRFFldDBNWTlSWDYyMHFNZ0hOWW5QNTB5MU9vRTZqd0tHSTBGN2Y1SHhZbXpPVTNWN0c4UVZRa2FybnhOVVc1Zk1yditGNU5PVW9LRWwxemFZVlBUclNxYUZNeWc5SDZnS2VXUnlBWU1Ed25halEwOW5HNnVlYVEzcXNQVjQ3bmJOV2Z5eFh3b3hyb0N2a29kTGhsYmtxSjFkY2JZekVEYmcyVytwSmQ3RmNtVWZLUXZHYUFuWDJGZz09PC9YNTA5Q2VydGlmaWNhdGU+PC9YNTA5RGF0YT48L0tleUluZm8+PC9TaWduYXR1cmU+PFN1YmplY3Q+PE5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OnVuc3BlY2lmaWVkIj5HRURUQy0xMzU5NDM8L05hbWVJRD48U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBSZWNpcGllbnQ9Imh0dHA6Ly9sb2NhbGhvc3Q6NTkzMzEvTG9naW4uYXNoeCIgTm90T25PckFmdGVyPSIyMDIxLTA0LTA5VDIwOjE2OjU5WiIgLz48L1N1YmplY3RDb25maXJtYXRpb24+PC9TdWJqZWN0PjxDb25kaXRpb25zIC8+PEF0dHJpYnV0ZVN0YXRlbWVudD48QXR0cmlidXRlIE5hbWU9InRyLmNvbS5laWtvbi5hcHAuYWNjZXNzTGV2ZWwiPjxBdHRyaWJ1dGVWYWx1ZT5TdWJzY3JpcHRpb248L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjxBdHRyaWJ1dGUgTmFtZT0idHIuY29tLmVpa29uLmFwcC5pZCI+PEF0dHJpYnV0ZVZhbHVlPlRIT01TT05SRVVURVJTLkFQUFNUVURJTy5WRFI8L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjxBdHRyaWJ1dGUgTmFtZT0idHIuY29tLmVpa29uLnVzZXIuZW1haWwiPjxBdHRyaWJ1dGVWYWx1ZT5tb2hhbWFkLmRlZWtAcmVmaW5pdGl2LmNvbTwvQXR0cmlidXRlVmFsdWU+PC9BdHRyaWJ1dGU+PEF0dHJpYnV0ZSBOYW1lPSJ0ci5jb20uZWlrb24udXNlci5pZCI+PEF0dHJpYnV0ZVZhbHVlPkdFRFRDLTEzNTk0MzwvQXR0cmlidXRlVmFsdWU+PC9BdHRyaWJ1dGU+PEF0dHJpYnV0ZSBOYW1lPSJ0ci5jb20uZWlrb24udXNlci5sb2dpbiI+PEF0dHJpYnV0ZVZhbHVlPk1vaGFtYWQuRGVla0ByZWZpbml0aXYuY29tPC9BdHRyaWJ1dGVWYWx1ZT48L0F0dHJpYnV0ZT48QXR0cmlidXRlIE5hbWU9InRyLmNvbS5laWtvbi51c2VyLm5hbWUiPjxBdHRyaWJ1dGVWYWx1ZT5Nb2hhbWFkIERlZWs8L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjwvQXR0cmlidXRlU3RhdGVtZW50PjxBdXRoblN0YXRlbWVudCBBdXRobkluc3RhbnQ9IjIwMjEtMDQtMDhUMjA6MTY6NTlaIj48QXV0aG5Db250ZXh0PjxBdXRobkNvbnRleHRDbGFzc1JlZj51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YWM6Y2xhc3NlczpQYXNzd29yZDwvQXV0aG5Db250ZXh0Q2xhc3NSZWY+PC9BdXRobkNvbnRleHQ+PC9BdXRoblN0YXRlbWVudD48L0Fzc2VydGlvbj48L1Jlc3BvbnNlPg==

i8beef commented 3 years ago

This is probably an edge case from the move to a cache instead of session based state storage. Ill get a fix together for you to try.

i8beef commented 3 years ago

Try 3.2.0.66.

saifiqbal10P commented 3 years ago

@i8beef Thanks its working now.