GCP FCM服务器密钥泄露 应用发布后FCM推送失效修复
FCM 服务器密钥泄露导致推送失效修复方案
安全提示:您的应用存在GCP FCM Server Keys泄露问题,如需解决该问题,请按照Google帮助中心对应文章中的步骤操作。
问题现象
- 集成Firebase Cloud Messaging实现跨设备消息推送,应用正式发布前推送功能运行正常
- 应用正式上线后推送功能完全不可用,同时收到上述FCM服务器密钥泄露的安全警告
- 问题参考截图:

根因说明
触发告警、推送失效的核心原因是你把仅允许在服务端存放的FCM Server Key硬编码打包进了客户端安装包,或者把密钥提交到了公开代码仓库、公开可访问的静态资源路径下,被Google的安全扫描机制识别后,直接作废了对应密钥的接口调用权限,导致发布后推送功能失效。
修复步骤
- 立即作废已泄露的旧密钥
登录Firebase控制台进入对应项目,打开「项目设置」-「云消息传递」页面,找到触发泄露告警的旧版服务器密钥,直接操作作废,同时排查所有客户端代码、公开代码仓库、公开静态资源路径,彻底删除所有留存的旧密钥明文,绝对不能再让密钥出现在任何可被普通用户获取的位置。 - 修正推送架构逻辑
所有调用FCM接口发送推送的操作,必须迁移到你自己的业务服务端执行。客户端侧仅保留获取FCM设备注册token、将token上报到自有业务服务端的逻辑,绝对不允许客户端持有Server Key直接请求FCM发信接口。 - 替换为新版安全凭证
直接弃用旧版legacy Server Key鉴权方式,迁移到官方推荐的FCM HTTP v1 API鉴权模式:进入Firebase控制台对应项目的「服务账号」页面,生成专属服务账号密钥文件,将该文件仅存储在你的业务服务端安全运行环境中,配置到服务端推送逻辑里完成接口鉴权。 - 核验修复结果
打包发布移除了所有硬编码密钥的新版客户端,通过自有服务端发起推送测试,确认跨设备推送功能恢复正常后,回到Google安全告警中心提交修复完成的核验申请即可。
内容的提问来源于stack exchange,提问作者Usman Sheikh
相关产品推荐
相关产品推荐

