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

使用MAUI与MS Dev Tunnel时,Google Auth回调localhost无法访问的问题求助

解决方案

可以指定Google Auth使用Dev Tunnel地址作为基础URL,以下是两种可靠的实现方式:

1. 配置转发头让服务端识别真实外部地址

MS Dev Tunnel转发请求时会携带X-Forwarded-Proto和X-Forwarded-Host头,告知服务端真实的外部访问地址。在ASP.NET Core的Program.cs中添加转发头配置,且需放在认证、授权中间件之前:

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

配置完成后,ASP.NET Core生成Google认证回调地址时,会自动使用Dev Tunnel的域名和HTTPS协议,而非本地的localhost:7117。

2. 手动指定Google Auth的完整回调地址

如果转发头配置未生效,可直接在Google认证选项中强制设置完整的回调URL:

services.AddAuthentication()
    .AddGoogle(o =>
    {
        var googleAuthNSection = configuration.GetSection("Authentication:Google");
        o.ClientId = googleAuthNSection["ClientId"]!;
        o.ClientSecret = googleAuthNSection["ClientSecret"]!;
        o.SaveTokens = true;
        o.SignInScheme = IdentityConstants.ExternalScheme;
        // 替换为你的Dev Tunnel完整回调地址
        o.RedirectUri = "https://******-7117.use.devtunnels.ms/signin-google";
    });

关键注意事项

  • 必须在Google Cloud控制台的OAuth 2.0客户端ID设置中,将上述Dev Tunnel回调地址添加到授权的重定向URI列表,否则Google会拒绝回调请求。
  • 两种方式可结合使用,确保回调地址正确生成。

内容的提问来源于stack exchange,提问作者Ryan Langton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:01:04