解决 Antigravity 编辑器登录 Google 账号无法跳转/无响应问题 (OAuth2 本地回调修复)

Source

问题描述

在配置 Google 内部泄露版编辑器 Antigravity (Project IDX 的早期版本) 时,很多开发者在初始配置界面会遇到以下“死循环”问题:

  1. 打开软件,点击界面的 "Sign in with Google"

  2. 浏览器正常弹出 Google 登录页面,并且成功完成了登录验证。

  3. 故障现象:浏览器登录成功后,并没有自动唤起 Antigravity 软件,软件界面一直卡在 "Waiting for login..." 或转圈状态,无法进入主界面。

问题分析

该问题的根源通常在于 OAuth2 授权流程的本地回调 (Localhost Callback) 失败。

Antigravity 在启动登录时会随机监听一个本地端口(如 12345)等待接收 Google 返回的 Token。由于防火墙拦截、网络代理配置或 SSL 证书校验(尤其是在使用 VPN 或公司网络时),浏览器无法将验证结果正确发送回本地的这个端口,导致软件一直处于等待状态。

本文将介绍一种无需修改软件核心代码,通过 PowerShell 手动完成 OAuth 验证的稳妥方法。


解决方案:使用 PowerShell 手动回调

我们可以通过命令行启动软件的调试模式,获取它正在监听的端口号,然后手动构造登录链接完成验证。

第一步:获取本地监听端口

我们需要以调试模式启动 Antigravity,查看它到底监听在哪个端口。

  1. 进入 Antigravity 的安装目录(假设路径为 D:\Software\Antigravity\Antigravity,请根据实际情况调整)。

  2. 在该目录下空白处右键,选择 “在终端中打开”“打开 PowerShell”

  3. 输入以下命令启动软件:

    PowerShell

    .\Antigravity.exe --inspect=9229
    
  4. 软件启动后,点击界面上的 "Sign in with Google" 按钮。

  5. 切回刚才的 PowerShell 窗口,仔细观察日志输出,你会看到类似下面的一行:

    [Auth] Localhost server listening on port 12278

    关键点: 这里的 12278 是随机分配的端口号,请记下你终端里显示的这个数字(每次启动都不同)。

第二步:生成修复后的登录链接

保持上面的软件和终端窗口不要关闭。打开一个新的 PowerShell 窗口,复制以下脚本。

注意:运行前,请务必修改第一行的 $port 变量为你刚才获取的端口号。

PowerShell

# ================= 配置区域 =================
# 【重要】请将下面的 12278 替换为你在第一步日志中看到的实际端口号
$port = "12278" 
# ===========================================

# 定义 Antigravity 的 OAuth 客户端参数
$clientId = "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com"
$redirect = [uri]::EscapeDataString("http://localhost:$port/oauth-callback")

# 定义所需的权限范围
$scope = [uri]::EscapeDataString("openid profile email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/experimentsandconfigs https://www.googleapis.com/auth/cclog")

# 生成随机 State 和 完整的授权 URL
$state = [uri]::EscapeDataString([guid]::NewGuid().ToString())
$url = "https://accounts.google.com/o/oauth2/v2/auth?client_id=$clientId&redirect_uri=$redirect&response_type=code&scope=$scope&access_type=offline&prompt=consent&state=$state"

# 打印并尝试自动打开链接
Write-Host "----------------------------------------------------------------" -ForegroundColor Cyan
Write-Host "正在打开修复后的登录链接..." -ForegroundColor Green
Start-Process $url
Write-Host "如果浏览器未自动弹出,请手动复制下方链接在浏览器打开:" -ForegroundColor Yellow
Write-Host $url
Write-Host "----------------------------------------------------------------" -ForegroundColor Cyan

第三步:验证并登录

  1. 在 PowerShell 中运行上述脚本后,浏览器会自动弹出一个新的 Google 登录页面。

  2. 正常输入账号密码进行登录。

  3. 登录完成后,切回 Antigravity 软件界面

  4. 此时你会发现软件已经成功接收到了 Token,自动跳转并进入了编辑器主界面。