我有一个在IIS 8.5 / Windows Server 2012上运行的ASP.NET MVC 5 Web应用程序。它使用Keycloak进行OpenId Connect身份验证。
当会话状态模式为InProc时,这可以正常工作,进行会话身份验证并成功创建cookie。但是,当会话状态处于SQL Server模式时,它将进入一个无限循环,即重定向到身份提供者和重定向到应用程序。
使用OpenId Connect通知中的断点,我可以确认安全令牌已经过验证,这使我相信序列化某些内容时会出现问题。但是我不确定到底是什么,因为没有记录错误。通常,如果您尝试将无法序列化的内容保留到会话存储中,则会引发异常。
这是一个已知问题,还是有解决此问题的配置解决方法?其他未通过OpenId Connect进行身份验证的应用程序已成功使用SQL会话状态。