DotNetOpenAuth登录而不在第二次询问凭证(如果少于10到15秒)

时间:2012-03-19 07:34:26

标签: asp.net-mvc openid dotnetopenauth

我正在使用DotNetOpenAuth。我使用Gmail OpenID(DotNetOpenAuth)通过自定义表单身份验证配置了我的应用程序。我可以成功登录我的应用程序。但是比如说。我从应用程序注销并单击登录(在10到15秒内),它不会重定向到gmail登录。它在没有用户询问的情况下自己生成了身份验证令牌。(我希望有些东西是缓存的OpenID)

我用过PAPE

  request.AddExtension(new PolicyRequest()
                        {
                            MaximumAuthenticationAge = TimeSpan.Zero
                        });

还尝试在web.config中配置。

<openid cacheDiscovery="false">

是否有相同的解决方法。

注意:退出后,我习惯清除所有会话并致电FormAuthentication.SignOut()

1 个答案:

答案 0 :(得分:1)

使用OpenID,您作为依赖方无法在其提供商处强制用户的登录策略。您可以像使用PAPE扩展一样请求提供程序重新登录用户,但提供程序可能仍会忽略它。

cacheDiscovery设置与传递登录无关,因此我建议您删除该条目,因为它只会降低所有登录速度。

当你说它没有重定向到谷歌时,我认为你错了。如果您查看日志或浏览器的网址栏,应将Google.com重定向到,但此时Google会决定用户有登录会话并避免提示他们再次登录,并立即将用户重定向回您的现场。