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

集成Google登录遇Error: deleted_client错误,求解决方案

解决Google登录的deleted_client错误与401授权问题

首先,Error: deleted_client这个错误已经给出了明确指向——你当前代码里使用的OAuth客户端ID对应的凭据已经被删除(或失效),这直接引发了401未授权的问题。咱们一步步排查解决:

1. 确认OAuth客户端的存活状态

  • 登录Google Cloud Console,找到你集成登录功能的项目,进入API和服务 > 凭据页面。
  • 在OAuth 2.0客户端ID列表里,定位你当前代码中使用的那个客户端ID:
    • 如果找不到,说明这个客户端确实被删除了,直接重新创建一个Web应用类型的OAuth客户端,配置好Authorized JavaScript origins和Redirect URIs。
    • 如果能找到,检查它的状态是不是已启用,有没有被意外禁用(有时候可能误操作点了禁用按钮)。

2. 彻底替换凭据(别手动输入!)

  • 复制当前有效客户端的Client ID和Secret Key,直接替换你代码/配置文件里的旧值。手动输入很容易出现大小写、字符遗漏的问题,复制粘贴是最稳妥的方式。
  • 注意区分客户端类型:确保你用的是Web应用类型的客户端凭据,而不是iOS/Android或者其他类型的,不同类型的凭据权限范围不匹配。

3. 核对Redirect URIs的配置细节

看你提供的请求详情里,redirect_uri=storagerelay://https/www.#mysite.com?id=auth357681这里有个小疑点:域名里的#是不是多余的?正常域名应该是www.mysite.com吧?

  • 先确认这个redirect_uri的完整格式,然后在Google控制台的对应客户端配置里,把这个URI准确添加到Authorized redirect URIs列表中。
  • 另外,Authorized JavaScript origins只需要填你的网站根域名(比如https://www.mysite.com),不要加路径、哈希或者storagerelay这类前缀。

4. 清除缓存,避免旧凭据干扰

  • 浏览器的缓存和Cookie可能存了旧的客户端信息,导致请求还是用失效的ID。建议用无痕模式测试,或者手动清除浏览器的缓存、Cookie后再试。
  • 如果你的后端服务有缓存配置,记得重启服务,确保加载的是最新的Client ID和Secret。

5. 再次确认API启用状态

  • 回到Google Cloud Console的API和服务 > 已启用的API和服务页面,确认Google Identity API(或者OAuth 2.0 API)是处于启用状态的。有时候切换项目或者更新配置后,API可能会被意外关闭。

6. 排查第三方Auth库的配置(如果用了的话)

如果你是通过第三方Auth库(比如各类OAuth封装库、Firebase Auth等)实现的登录,检查库的配置:

  • 是不是正确指向了新的客户端ID?
  • 有没有配置错误的redirect_uri模板?比如有些库会自动生成storagerelay开头的URI,要确保这个格式已经被Google控制台允许。

常见坑提醒

  • 别在多个Google Cloud项目里混淆客户端ID:比如你可能用了另一个项目的凭据,但那个项目的客户端已经被删除了。
  • 避免误删客户端:创建客户端后,最好给它起个明确的名字(比如“我的网站Google登录”),防止后续误操作删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:48:10