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

Angular集成Firebase推送通知遇403权限拒绝错误求助

排查Angular+Firebase推送通知403权限错误

问题重现

在Angular项目中基于Firebase实现推送通知,允许通知权限前功能正常,但授权后无法获取推送Token,控制台抛出以下错误:

notifications.component.ts:169 FirebaseError: Installations: Create Installation request failed with error "403 PERMISSION_DENIED: Requests to this API firebaseinstallations.googleapis.com method google.firebase.installations.v1.FirebaseInstallationsService.CreateInstallation are blocked." (installations/request-failed).
    at index.esm2017.js:94:26
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (asyncToGenerator.js:3:1)
    at _next (asyncToGenerator.js:25:1)
    at ZoneDelegate.invoke (zone.js:372:1)
    at Object.onInvoke (core.mjs:25488:1)
    at ZoneDelegate.invoke (zone.js:371:1)
    at Zone.run (zone.js:134:1)
    at zone.js:1276:1
    at ZoneDelegate.invokeTask (zone.js:406:1)

排查步骤

1. 确认Firebase Installations API已启用

  • 登录Firebase控制台,进入目标项目的「设置」→「服务账号」页面,检查Firebase Installations API状态,确保已启用
  • 若未启用,点击「启用API」按钮完成激活,等待5-10分钟让配置生效

2. 检查API密钥的限制规则

  • 在Firebase控制台「设置」→「通用」→「你的应用」中,找到Web应用的配置信息,复制apiKey
  • 登录关联的Google Cloud控制台,进入「API和服务」→「凭据」,找到对应的API密钥
  • 检查密钥的「应用限制」和「API限制」:
    • 应用限制:若设置了HTTP referrer限制,确保你的测试/生产域名已添加到允许列表;若为IP限制,确认客户端IP在允许范围内
    • API限制:确保已将「Firebase Installations API」添加到允许的API列表中,避免设置为仅允许特定API且未包含该服务的规则

3. 验证Firebase SDK配置与版本兼容性

  • 确认Angular项目environment.ts中的Firebase配置(apiKey、authDomain、projectId等)与Firebase控制台完全一致,无拼写错误
  • 检查@angular/fire和firebase的版本是否匹配:
    • 运行npm list @angular/fire firebase查看当前版本
    • 参考官方文档确认版本兼容性,若存在版本不兼容,升级/降级到匹配版本后重新安装依赖

4. 重置Firebase Installations状态

  • 清除浏览器缓存及Service Worker:
    • 打开浏览器开发者工具→「应用」→「存储」→点击「清除站点数据」
    • 同时删除「Service Workers」下的相关缓存
  • 重启Angular开发服务器,重新触发通知授权流程

5. 检查IAM权限设置

  • 在Google Cloud控制台进入「IAM与管理员」→「IAM」页面
  • 找到当前项目使用的服务账号(客户端调用通常对应默认的Web应用关联账号)
  • 确保该账号拥有Firebase Installations Admin或Firebase Installations Viewer角色,至少具备firebaseinstallations.installations.create权限

6. 验证请求环境

  • 确认测试环境为HTTPS(localhost除外,Firebase允许localhost作为安全源)
  • 在浏览器设置中确认通知权限已正确授予,避免权限状态异常导致的请求失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:54:28