你以前可能已经解决了这个问题.
我需要能够在没有会话粘性的环境中使用open id.服务器确实保留了标头.
我正在使用ASP.NET MVC和dotNetOpenId版本3.2.0.9177.虽然第三方网站上的身份验证在返回响应时顺利进行但是我收到错误并且身份验证失败.
有什么想法吗?
解决方法
有状态
最优化的方法是编写一个自定义持久性存储,为OpenID RP需要的“秘密”实现IRelyingPartyApplicationStore,并将您的实例传递给OpenIdRelyingParty(IRelyingPartyApplicationStore)构造函数,或在web.config file中注册它.
无状态
对于大多数情况来说,更简单的解决方案是使用无状态模式,这样就不需要在Web场的服务器之间共享任何状态.
您可以通过实例化将null作为应用程序商店实例传入的OpenIdRelyingParty来激活无状态模式.调用默认构造函数将导致DNOA使用其内存存储,该存储在服务器场中断,因此默认构造函数不足.
或者,如果您使用的是ASP.NET控件,只需在控件上设置Stateless = true即可.