我正在尝试使用 Visual Studio 2017(MVC 5 .Net Framework)为我的一个 Web 应用程序添加 Google 外部登录功能。通过遵循之前给出的确切步骤,我无法使其工作。并且使用google帐户(之前在测试用户中分配)登录后,它总是重定向到登录页面。在调试模式下,所有变量和属性均为空。
此外,关于我的问题,我已经尝试了以下每个步骤(基于 StackOverflow 之前的解决方案:-
将所有相关 NuGet 包更新到最新版本。
根据我的项目配置授权Javascript和重定向URL (HTTP://localhost:{端口号})
应用程序处于测试模式(已添加测试用户)。
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 Core 项目上对此进行了测试,效果很好。但它在 MVC 5 框架中不起作用。 有的话请指教。
最好
我想说的是,不要尝试,因为当你发布到你的网站时,它不会起作用。 .net 的 Google 登录仅适用于本地主机。相反,请使用 100% 浏览器端的 onetap。我能够通过使用此处找到的代码在一天内找出onetap:https://googleonetap.developer.li/
从 Google API API 管理器中,访问“凭据”选项卡以获取客户端 ID。下载并保存包含应用程序机密的 JSON 文件。将 ClientId 和 ClientSecret 复制并粘贴到 App_Start 文件夹中 Startup.Auth.cs 文件中的 UseGoogleAuthentication 方法中。如果 ClientId 和 ClientSecret 值无效,则不起作用。 例如,
app.UseGoogleAuthentication(
clientId: "001-010.apps.googleusercontent.com",
clientSecret: "01000100000");