Firebase自定义托管域名为何出现第三方Cookie?
Firebase自定义域名相关问题解答
现象原因
你看到的Firefox站点信息面板显示默认域名内容,是因为Firebase服务(如Auth、Hosting后台交互)会自动发起对Firebase默认域名([project-id].web.app/[project-id].firebaseapp.com)的请求,这些请求与你的自定义域名mydomain.example.com属于不同站点,Firefox会检测并展示当前页面关联的所有站点资源信息,包括这些默认域的相关内容。
避免跨站Cookie的修改步骤
- 在Firebase控制台Hosting设置中,确认自定义域名
mydomain.example.com的SSL证书已激活(Firebase自动提供Let's Encrypt证书,状态需显示"已激活")。 - 进入Firebase控制台Authentication > 设置 > 授权域,添加
mydomain.example.com作为授权域,可移除不再使用的默认域名。 - 修改Firebase SDK初始化代码,将
authDomain字段的值从默认域名替换为mydomain.example.com。 - 在Firebase Auth设置中开启自定义域Cookie政策,将Cookie的
SameSite属性设置为Lax或Strict,并指定Cookie域为mydomain.example.com,限制Cookie仅在自定义域下生效。 - 清除Firefox中与Firebase默认域名相关的缓存和Cookie,避免旧配置残留影响。
与Google Auth登录弹窗的关联
完全相关。如果Google Auth登录弹窗仍使用Firebase默认域名,登录过程中会在默认域下生成Auth Cookie,当你在自定义域名页面操作时,这些跨域Cookie会被浏览器识别,既会导致站点信息面板显示默认域内容,也会引发跨站Cookie问题。按照上述步骤将Auth授权域和SDK配置改为自定义域名后,登录弹窗会使用你的自定义域名,Cookie也会绑定到该域,彻底解决跨站问题。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

