Chrome中WordPress Facebook社交登录仍调用旧API Key问题求助
WordPress Facebook社交登录Chrome异常排查方案
问题确认
- Chrome环境下点击Facebook登录按钮,弹窗提示「您尝试使用的应用不存在或已被停用」,且弹窗地址栏显示旧API_KEY
- Firefox中功能完全正常,已清除Chrome缓存、Cookie但问题未解决
- 已删除旧Facebook应用,项目代码中已配置新应用ID
排查步骤
1. 彻底检查代码中的旧API_KEY残留
全量搜索插件代码的所有文件,确认以下位置已替换为新应用ID:
- 页面头部输出的
<meta property="fb:app_id" content="旧API_KEY">标签 - JavaScript中
FB.init({appId: '旧API_KEY'})的参数值 - PHP后端拼接Facebook授权地址时的
client_id参数(比如https://www.facebook.com/dialog/oauth?client_id=旧API_KEY)
别漏了任何硬编码的旧值,包括注释里的残留。
2. 清理Chrome深层站点数据
普通缓存和Cookie清不干净,得手动清IndexedDB、LocalStorage和Service Workers:
- 按F12打开Chrome开发者工具,切换到「Application」标签
- 左侧菜单依次找到「Local Storage」「IndexedDB」,选中你的站点后右键删除所有数据
- 找到「Service Workers」,点击「Unregister」注销所有相关服务工作者
- 刷新页面重新测试
3. 清空WordPress及服务器端缓存
如果用了缓存插件(WP Rocket、W3 Total Cache等),直接清空插件缓存;如果服务器开了Nginx缓存、Cloudflare等:
- 登录服务器后台清空Nginx缓存
- Cloudflare后台手动清除全站缓存,检查是否有页面规则导致旧资源被强制缓存
4. 检查Facebook SDK加载逻辑
如果是静态引入SDK脚本,换成无版本锁定的最新链接(比如https://connect.facebook.net/zh_CN/sdk.js),避免旧SDK缓存;同时确保SDK初始化时是动态传入新应用ID,不要在静态脚本里硬编码。
5. 排查Chrome用户配置问题
打开Chrome隐身窗口测试,如果隐身模式正常,说明是当前用户配置的问题:
- 可以重置Chrome设置(设置→高级→重置设置),或者新建一个Chrome用户配置文件再试
插件代码重点检查项
针对你的自定义插件,优先看这几个地方:
wp_head钩子输出的fb:app_id meta标签是否正确- FB SDK初始化的JS代码中,appId参数是否为新ID,有没有被其他代码覆盖
- PHP处理授权跳转的函数里,拼接URL时的client_id是否用了新应用ID
内容的提问来源于stack exchange,提问作者Snorlax
相关产品推荐
相关产品推荐

