Closed saifiqbal10P closed 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?
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==
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.
Try 3.2.0.66.
@i8beef Thanks its working now.
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)