我正在开发一个使用OpenID进行身份验证的网站,但工作正常但是...我经常在没有互联网连接的情况下工作。如果会话到期并且我需要再次登录,那么我再也无法连接。
我想要做的是在本地IIS上设置一个非常愚蠢的OpenID提供程序,我可以在断开连接时使用它来登录。真的很愚蠢我的意思就是 - 它只需要是一个硬编码的URL,它可以作为openID提供者正确响应并允许登录。
我已经快速浏览了DotNetOpenAuth附带的OpenIdProviderMvc示例,但它没有开箱即用(无法解析程序集ApplicationServices)。在深入挖掘之前,我认为有人可能已经完成了这个过程。
答案 0 :(得分:4)
所以我想出来了。 DotNetOpenAuth中包含的OpenIdProviderMvc示例项目工作正常。
我遇到的主要问题是依赖方网站需要将localhost列入白名单,如下所示:
configSections
的{{1}}部分:
web.config
这是一个新的配置部分:
<section name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection" requirePermission="false" allowLocation="true"/>
如果您感兴趣,我还会将一个更加愚蠢的提供商“localid”组合在一起,让您使用这样的OpenID登录: <dotNetOpenAuth>
<messaging>
<untrustedWebRequest>
<whitelistHosts>
<add name="localhost" />
</whitelistHosts>
</untrustedWebRequest>
</messaging>
</dotNetOpenAuth>
。没有登录屏幕,只有无限的有效OpenID标识符数组。更多信息here。