You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC集成Google登录遇「浏览器/应用不安全」问题求助

解决ASP.NET Core MVC集成Google登录时「浏览器或应用可能不安全」的问题

核心排查点及解决方案

1. 确认OAuth客户端类型正确性

在Google开发者控制台创建凭据时,必须选择「Web应用」类型,不要选桌面应用、移动端应用等其他类型。若之前选错类型,直接删除现有凭据,重新创建Web应用类型的OAuth客户端。

2. 修正重定向URI配置细节

  • 确保Authorized redirect URIs严格填写https://localhost:7049/signin-google,注意端口号要和本地运行的应用完全一致,且必须使用HTTPS协议
  • 不要在URI末尾添加斜杠,保持与ASP.NET Core默认的Google回调路径完全匹配

3. 检查OAuth同意屏幕配置

  • 把OAuth同意屏幕的「用户类型」设为「外部」,若处于测试阶段,务必将用于测试的Google账号添加到「测试用户」列表中
  • 确认同意屏幕的必填项(应用名称、支持邮箱等)已正确填写并保存,状态为「测试中」或「已发布」

4. 移除不必要的Referrer-Policy设置

你添加的Referrer-Policy中间件对当前OAuth场景无帮助,反而可能干扰验证流程,直接删除这段代码:

app.Use(async (context, next) =>
{
    context.Response.Headers.Add("Referrer-Policy", "no-referrer-when-downgrade");
    await next();
});

5. 简化Google认证配置代码

将Program.cs中的Google认证配置简化为最直接的形式,避免配置读取错误:

builder.Services.AddAuthentication()
    .AddGoogle(options =>
    {
        options.ClientId = builder.Configuration["Authentication:Google:ClientId"];
        options.ClientSecret = builder.Configuration["Authentication:Google:ClientSecret"];
    });

同时保证appsettings.json中的配置格式正确:

"Authentication": {
  "Google": {
    "ClientId": "你的客户端ID",
    "ClientSecret": "你的客户端密钥"
  }
}

(注:配置层级的冒号:无需替换为下划线,直接按层级读取即可)

6. 双因素认证相关说明

双因素认证(2FA)并非问题诱因,Google OAuth完全支持开启2FA的账号。错误提示的核心原因还是配置不匹配,无需尝试关闭2FA(目前也无法关闭「不安全应用登录」选项)。

7. 浏览器环境排查

  • 避免使用隐私/无痕窗口测试,确保浏览器启用Cookie和JavaScript
  • 优先使用Chrome浏览器测试(Google对自家浏览器的OAuth兼容性最优)
  • 清除浏览器缓存和Cookie后重新测试

内容的提问来源于stack exchange,提问作者Stefan H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:55:25