【问题标题】:AuthenticationResult.IsSuccessful started returning false for googleAuthenticationResult.IsSuccessful 开始为谷歌返回 false
【发布时间】:2014-03-28 11:22:18
【问题描述】:

今天,在我的实时网站上没有任何更改,使用 Google 外部登录提供程序登录停止工作。这只发生在具有 google 登录名的用户身上,其他提供商都可以。这也只发生在现场,我的开发机器运行相同代码的调试版本很好。

我的代码类似于示例 MVC 应用程序:

public ActionResult ExternalLoginCallback( string returnUrl )
{
    ...
    AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication( Url.Action(   "ExternalLoginCallback", new { ReturnUrl = returnUrl } ) );
    if( !result.IsSuccessful )
    {
       return RedirectToAction( "ExternalLoginFailure" );
    }
}

我查看了 result.error,它是空的。

有什么需要我注意的变化吗?我可以从 1 月 4 日here 看到类似的问题。我想这与我的实现有关,而不是谷歌范围内的问题,因为我仍然能够使用我的谷歌开放 ID 登录 SO。

我正在使用 Log4Net 并接收 DotNetOpenAuth 日志,但那里没有错误,所以它与 answer 不同。

我尝试从 4.3.0.13117 升级到最新的 Nuget (4.3.4.13329),但没有效果。我似乎也找不到 4.3.4.13329 源 in the repository 的标签。我将尝试下载并构建 4.3.0.13117 以查看是否可以找到原因。唯一的问题是这可以在我的本地计算机上正常测试,我不确定是否要将调试 DLL 放在实时站点上。

【问题讨论】:

    标签: c# asp.net-mvc-4 openid dotnetopenauth google-openid


    【解决方案1】:

    嗯,已经有几个星期了,所以我想我会记录我为解决这个问题而采取的步骤,以防它帮助其他人。作为背景信息,我使用的是 Visual Studio 2012。

    1. 发现 OpenID 2.0 + OAuth 1.0 已被弃用。见here。该服务尚未停止,但我担心我看到服务有所下降,因为这现在是一种过时的方法。
    2. 从 MVC4 升级到 MVC5。见here
    3. 使用了 DotNetOpenAuth.GoogleOAuth2 库。见here
    4. 将我的网站转换为 https。请参阅 herehere

    现在我已经完成了,一切似乎都运行良好。

    【讨论】:

    • MVC4 中的 Google 客户端是 OpenID 而不是 OAuth。即使不推荐使用 OAuth1,MVC4 中的 OpenID 也应该可以正常工作。同样在 MVC5 中,谷歌客户端使用 OpenID。我虽然不是每天都面临同样的问题,但有时会开始发生。我现在无法将 MVC4 迁移到 MVC5。
    • @user2585299。这些问题对我来说也是间歇性的,但有一天几乎没有任何谷歌用户能够登录。如果您发现根本原因或更轻量级的解决方案,请在此处发布,我会接受它,因为它可以为我节省很多时间。
    • @user2585299 - 您可能还想在此处查看来自 Google 的 Open ID 2.0 弃用通知:developers.google.com/accounts/docs/OpenID
    • @user2585299 - 我不得不回溯过去才能记住这一切,但让我更担心的是弃用通知中的 OpenID 2.0 部分。我已经修改了答案。我不使用 MVC 5 DotNetOpenAuth 的内置客户端,而是使用 DotNetOpenAuth.GoogleOAuth2(参见步骤 3)。您可以在不升级到 MVC 5 的情况下使用它,但您需要使您的大部分站点 HTTPS(请参阅第 4 步),这可能比您想要的更大。
    • 从您的帖子中,我真正了解了 OpenID 弃用。我完全切换到 Google+ 登录。我发现可能有用的一篇文章是peleyal.blogspot.com/2014/01/…
    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多