Google MVC 5 C# (.Net Framework) 中的外部登录

Google External Login in MVC 5 C# (.Net Framework)

我正在尝试使用 Visual Studio 2017(MVC 5 .Net 框架)为我的一个 Web 应用程序添加 Google 外部登录功能。按照之前给出的确切步骤,我无法使其工作。在使用 google 帐户(之前在测试用户中分配)登录后,它总是重定向到登录页面。在调试模式下,所有变量和属性都是空的。

此外,关于我的问题,我已经尝试了以下每个步骤(基于 Whosebug 之前的解决方案:-

  1. 正在将所有相关的 NuGet 包更新到最新版本。

  2. 根据我的项目配置授权Javascript和重定向URL (HTTP://localhost:{端口号})

  3. 应用程序处于测试模式(已添加测试用户)。

  4. Google认证代码在(App_Start-> Startup.Auth.cs) 看起来像这样:

    app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);

    app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
            {
    
                ClientId = "My Client ID Given in Google Developer Console",
    
                ClientSecret = "My Client Secret Given in Google Developer Console"
            });
    

我不知道最近是否有人遇到过同样的问题。我在 Asp.Net 核心项目上对此进行了测试,它运行良好。但它不适用于 MVC 5 框架。 有的话请指教

最佳

在 Google APIs API 管理器中,访问“凭据”选项卡以获取客户端 ID。下载以保存包含应用程序机密的 JSON 文件。将 ClientId 和 ClientSecret 复制并粘贴到 App_Start 文件夹中 Startup.Auth.cs 文件中的 UseGoogleA​​uthentication 方法中。如果 ClientId 和 ClientSecret 值无效,则它不起作用。 例如,

app.UseGoogleAuthentication(
         clientId: "001-010.apps.googleusercontent.com",
         clientSecret: "01000100000");

问题似乎与 HTTP 有关,因此您需要改用 HTTPs。请按照以下步骤操作:-

  • 右键单击您的项目名称-> 属性。

  • 在属性中 window 启用 SSL。

  • 复制整个 SSL URL(端口号与 HTTP 不同)。

  • 将您的新 SSL URL 粘贴到 Google 开发者控制台中的授权重定向 URL。例如

  • 当您 运行 您的申请在 visual studio 时。在尝试通过 google.

    唱歌之前,不要忘记将 HTTP 更改为 HTTPs 并更改端口号
  • 完整的授权重定向URL如下:

授权重定向 URL : https://localhost:{新端口号}/signin-google