“登录循环”指的是你的账号 / 密码 / SSO 其实已经通过了 OpenAI 端的认证,但浏览器没法完成会话握手:cookie 写下去,下一次请求却读不到(或被覆盖、或被代理剥掉),于是 /api/auth/session 返回空,UI 把你打回 /auth/login——或者打回一个永远过不去的”Verify you are human”Cloudflare 人机验证。这种 loop 几乎全是浏览器侧或网络侧的问题,不是账号或密码错。
一句话总览
- 浏览器必须保住的会话 cookie 是
chatgpt.com上的__Secure-next-auth.session-token。它没落地,你就会循环。会话有效期约 30 天,所以一次干净的登录本应能保持住。 - 最快的方向判定:开一个无痕 / 隐私窗口登一次。那里能登 = 你正常 profile 的问题(cookie 或某个扩展);那里也循环 = 网络、时间,或轮换 IP 的 VPN。
- 截至 2026 年 6 月,最常见的三个真实原因:(1) 残留 / 损坏的 OpenAI cookie,(2) 出口 IP 中途轮换的 VPN 或代理,(3) 拦截 auth 回调的隐私扩展。
- 注意:Chrome 普通窗口现在默认已不再屏蔽第三方 cookie(Google 在 2025 年放弃了这个计划),但 Safari、Firefox 仍默认屏蔽,Chrome 的无痕模式也仍然屏蔽。
常见原因
1. 残留或损坏的 OpenAI cookie
最高频的触发原因。上一个账号留下的旧 __Secure-next-auth.session-token,或者上次登录中断时写了一半的 token,会让 server 端拒绝 / 去重你这次的新会话,in-memory state 显示成错误的用户。
如何判断:开 DevTools (F12) → Application → Cookies → chatgpt.com。登录后看 __Secure-next-auth.* 这一项是不是缺失、重复,或者时间戳很老。
2. VPN / 住宅代理每次请求都换出口 IP
2026 年增长最快的原因,而且它往往表现为 Cloudflare 的”Verify you are human”验证反复循环,而不是干净地跳回登录页。Cloudflare 每次请求都重新评估风险;如果出口 IP 在验证过程中变了,验证就永远”不持久”,于是被反复重验。轮换住宅 IP 池和高密度共享的 VPN IP 都会触发——这类地址长期处于低信任状态。
如何判断:关掉 VPN 再试。或者去 whatismyipaddress.com 连刷几次,每次 IP 都不一样就说明在轮换。
3. 第三方 cookie 被屏蔽(因浏览器而异)
auth.openai.com 写下的 session cookie 要在 chatgpt.com 上读回来。会屏蔽跨站 cookie 的浏览器可能把它丢掉。但这已经不是所有浏览器都这样了,取决于具体浏览器:
| 浏览器(2026 年 6 月) | 是否默认屏蔽第三方 cookie | 说明 |
|---|---|---|
| Chrome(普通窗口) | 否 | Google 已于 2025 年取消该弃用计划,开关在设置里 |
| Chrome 无痕窗口 | 是 | 默认屏蔽——“只在无痕里循环”的常见原因 |
| Safari | 是 | 智能防跟踪(ITP)默认开启 |
| Firefox | 是(Strict) | 增强型跟踪保护”Strict”会屏蔽;“Standard”通常不屏蔽 |
| Brave | 是 | Shields 默认屏蔽跨站 cookie |
如何判断:登录后立刻看 DevTools → Application → Cookies → chatgpt.com。如果在 Safari / Firefox-Strict / Brave 里没有 __Secure-next-auth.session-token,而在 Chrome 里有,那就是跨站屏蔽。
4. 隐私扩展拦截 auth 回调
uBlock Origin(带 EasyPrivacy 列表)、Privacy Badger、Ghostery、NoScript、Brave Shields 偶尔会拦掉 auth.openai.com/u/login/callback 或 chatgpt.com/api/auth/callback/*。
如何判断:DevTools → Network → 重现登录 → 看那个回调请求是不是显示 (blocked:other) 或 net::ERR_BLOCKED_BY_CLIENT。
5. 系统时间偏差超过几分钟
签名 cookie(JWT)带 iat / exp 字段。如果本地时间偏差超过约 5 分钟,cookie 一到就被当成”已过期”;时间不对还会破坏 TLS 校验,让 Cloudflare 验证无法保持。
如何判断:Mac → System Settings → General → Date & Time → “Set time automatically” 应该是打开的。
6. 域名 hosts 文件被改
少见但致命。某些公司 / 学校的 hosts 把 chatgpt.com 指向内网代理。Cookie 写到代理的内部 IP 上,下次请求公网 IP 时就读不到。
如何判断:终端 cat /etc/hosts | grep -i openai(Mac/Linux),或打开 C:\Windows\System32\drivers\etc\hosts(Windows)。
最短修复路径
按顺序做,90% 在 Step 1 或 2 就解决。
Step 1:先用无痕窗口判定方向
Mac: Cmd + Shift + N (Chrome) / Cmd + Shift + N (Safari)
Win: Ctrl + Shift + N
无痕能登 = 你正常 profile 的 cookie 或扩展问题(继续 Step 2–4)。无痕也循环 = 网络、时间或系统层(跳到 Step 5–7)。
Step 2:清干净 OpenAI 域所有 cookie
DevTools (F12) → Application → Storage → Cookies,把这几个域全删:
chatgpt.com 所有
openai.com 所有
auth.openai.com 所有
auth0.openai.com 所有(如有)
或者用 Settings → Privacy → “Clear browsing data”,范围限定到 chatgpt.com / openai.com,然后重新登录。
Step 3:断开 VPN / 代理(如果无痕也循环,就提前到这一步)
直连家庭网络、不挂任何 VPN 再试。能登就是轮换出口 IP 触发的。要继续用 VPN,就换成固定静态 IP(dedicated IP)的出口节点,绝不要轮换住宅 IP 池。重试前先把 VPN 暂停约 5 分钟,给 Cloudflare 时间用你的真实 IP 重新评估。
Step 4:放开跨站 cookie(Safari / Firefox / Brave)
Chrome: chrome://settings/cookies → "Allowed to use third-party cookies" → Add:
[*.]openai.com
[*.]chatgpt.com
Safari → 取消勾选”Prevent cross-site tracking”。Firefox → 把增强型跟踪保护设为 Standard(或为本站加例外)。Brave → 为本站降低 Shields。详细参考ChatGPT Cookies 被拦截。
Step 5:逐个禁用扩展
chrome://extensions → 全关 → 登录 → 一个个重新开
无痕默认禁用扩展,所以如果 Step 1 里无痕能登,你就已经知道是某个扩展在作怪——把它们一个个开回来,定位元凶。重点查:uBlock Origin、Privacy Badger、Ghostery、Brave Shields、NoScript。
Step 6:核对系统时间
Mac: Apple menu → System Settings → General → Date & Time → "Set time automatically" ON
Win: Settings → Time & language → Date & time → "Set time automatically" ON
Linux: timedatectl status (用 sudo timedatectl set-ntp true 设置)
最容易偏的场景:刚关飞行模式、刚跨时区、双系统启动。
Step 7:检查 hosts 文件
cat /etc/hosts | grep -iE 'openai|chatgpt'
输出非空就是有人改过域名。删掉对应行(需 sudo),然后重启浏览器。
Step 8:还是不行?查 OpenAI 状态页
打开 status.openai.com,找 “ChatGPT” 和 “Authentication” 两块。任一不是绿色 = OpenAI 端故障,等他们修,别再折腾本地了。
预防建议
- 一个浏览器 profile 只跑一个 ChatGPT 账号,别在同一个 profile 里混工作和个人。
- 经常切账号?用 Chrome 多 profile 或 Firefox container tabs,别每次都清 cookie。
- VPN 选固定静态 IP(dedicated IP);轮换住宅 IP 是头号 loop 触发器。
- 别给
openai.com设”退出时清 cookie”,下次登录又会循环。 - 系统时间常开”自动同步”,旅行或双系统启动之后再核对一次。
- 公司 / 学校机器,先确认 IT 有没有改过
hosts或装了 TLS 代理,再去折腾浏览器设置。
常见问题
为什么登录成功后 ChatGPT 又一直把我送回登录页?
密码其实过了,但浏览器没把 chatgpt.com 上的 __Secure-next-auth.session-token 这个 cookie 保住,所以下一次请求看起来还是未登录。常见原因是残留 / 损坏的 cookie、隐私扩展拦了 auth 回调,或者 Safari / Firefox-Strict / Brave 的跨站 cookie 屏蔽。先清掉 OpenAI cookie,再用无痕窗口重试。
“Verify you are human”的 Cloudflare 循环是同一个问题吗?
属于同一类。Cloudflare 每次请求都重新评估风险,而出口 IP 中途轮换的 VPN 或代理会让验证永远无法保持,于是反复循环。把 VPN 暂停约 5 分钟再刷新,通常就好了。系统时间不对也会破坏验证背后的 TLS 校验。
清 cookie 会把我其他设备也登出吗?
不会。在一个浏览器里清 cookie,只会结束那个浏览器里的会话。你的手机 App 和其他浏览器各有自己的 __Secure-next-auth.session-token,有效期约 30 天,到期才需要重新登录。
手机能登、笔记本登不上,差别在哪?
手机走的是不同网络(常是清白 IP 的蜂窝数据),用的是全新的 App 会话,于是绕开了轮换 IP 的 VPN、桌面端的隐私扩展,或损坏的桌面 cookie。这种分裂正好说明问题出在笔记本的浏览器本地,而不是你的账号。
登录循环会不会是账号被封或被盗的信号?
很少是。封号或安全冻结会显示明确提示(“Your account has been deactivated”或一封要求验证的邮件),而不是无声地跳回。无声的循环是会话握手失败。如果你在一台干净设备、干净网络上也登不上,那就去邮箱查有没有 OpenAI 的安全通知。
相关阅读
外部参考:OpenAI 状态页 · Google 关于第三方 cookie 的决定(Privacy Sandbox)
标签: #ChatGPT #ChatGPT 账号 #排查 #排查 #登录循环