Google 邮件帐户自动转换为 OAuth2.0 身份验证

修订信息
  • 修订编号: 245518
  • 创建于:
  • 创建者: 燕观天
  • 备注: 根据修订版本 245490 更新翻译。
  • 已审阅:
  • 已审阅:
  • 审核人: 燕观天
  • 已核准?
  • 是否为最新修订?
  • 可进行本地化:
修订原文
修订内容

Thunderbird 91.8.0 于 2022 年 4 月 5 日发布,将 Gmail 帐户的认证方式转换为 oAuth 2.0,以帮助用户遵守 Google 对 Gmail 登录的 OAuth 2.0 要求。这些更改是谷歌的 要求

我们建议你升级到最新版 Thunderbird 以保证最新的安全漏洞修复以及其他修复和改进。不过,如果你需要继续使用 Thunderbird 91.8.0 及以下版,那么你需要自己改变认证方式为 OAuth2,并承担风险。你可以使用以下步骤检查你的认证方式确实切换到了 OAuth2

打开 > 帐号设置 > 你的帐号 > 服务器设置 > 认证方式 并确保设置为 OAuth2

必须启用 Cookie 和 javascript,OAuth 2.0 才能工作。如果您在 Thunderbird 中拒绝了 Cookie,那么 OAuth 2.0 流程会失败,因为必须接受 Cookie 才能在页面更新之间存储数据。如果要使用下面的方法,你必须至少临时接受 Cookies。

首先,检查在常规设置中 Thunderbird 的 Cookie 设置:

  • > 首选项 > 隐私与安全 > 网络内容
  • 查看 接受网站 Cookie 勾选框。

如果 接受网站 Cookie 没有 勾选,那么请执行以下操作之一,然后再次进行 OAuth 登录流程:

  • 创建接受谷歌 Cookie 的例外:
    • 点击 例外… 按钮打开 例外 - Cookie 对话框。
    • 网站地址 输入框中输入 https://accounts.google.com
    • 选择 允许,然后 保存更改
  • 另外就是接受 所有 Cookie:
    • 勾选 接受来自站点的 Cookie

在完成 OAuth 流程之后,你可以再次拒绝 Cookie,收发邮件不会受到 Cookie 的影响。 但是拒绝所有 Cookie 会导致在 Gmial 的 OAuth 令牌将来过期后还需要再次进行 OAuth 流程,那时仍需接受 Cookie。

如需详细了解 Cookie,请参看 隐私面板——Thunderbird远程内容和cookie的设置

如何避免或修复由于禁用 javascript 而导致的 OAuth 失败

  • 打开 > 首选项 > 常规 > 配置编辑器r
  • javascript.allow.mailnews 粘贴到 搜索首选项名字 搜索框内。
    • 如果您看到带有 javascript.allow.mailnews 的搜索结果行包含 false,则必须通过单击位于右侧的 切换 Fx71aboutconfig-ToggleButton 按钮将其更改为 true
    • 如果您看到某行带有 javascript.allow.mailnews 且在行尾包含 true+ 按钮,则无需更改。

检查认证令牌是否已被保存

  • 打开 > 设置 > 隐私与安全 > 密码> 已存密码
    • 如果认证方法设置为 OAuth2 并且 OAuth 登录成功,那么你会看到每个用户登录的条目 (gmail account) 如下:
oauth://accounts.google.com (https://mail.google.com/ …)
注意:这些认证条目是 OAuth2 认证令牌,不是密码。
  • 如果认证方法设置为 OAuth2 并且 OAuth 登录 成功,那么请检查以下形式的提供商的密码条目并将其删除:
imap://imap.gmail.com (imap://imap.gmail.com)
smtp://smtp.gmail.com (smtp://smtp.gmail.com)

如果仍有问题,请 向 Thunderbird 支持求助