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

Android 14/新版Chrome环境下Angular+Firebase Auth/Hosting+Node.js服务端的第三方Cookie兼容问题及Angular实现方案求助

Android 14/新版Chrome环境下Angular+Firebase Auth/Hosting+Node.js服务端的第三方Cookie兼容问题及Angular实现方案求助

大家好,我现在碰到了一个和Chrome第三方Cookie拦截相关的Firebase Auth兼容问题,想请各位帮忙出出主意:

问题背景

我在做一个基于Angular+Firebase Auth/Hosting+Node.js后端的智能家居项目,现在遇到了新版Chrome自动拦截第三方Cookie导致的功能异常,但在Android 13设备、Ubuntu 20.10上的旧版Chrome,以及放开第三方Cookie限制的新版Firefox里,功能都是正常的。

参考方案与需求

我看到一个Google智能家居洗衣机示例项目里,用document.cookie = '__session=' + token + ';max-age=3600';的方式处理了类似问题,但这个示例是全Node.js实现的,我想在自己的Angular项目里实现同样的逻辑。另外如果有其他解决方案(比如在firebase.json里配置SameSite=Strict/Secure、使用CHIPS等),也欢迎大家提出。

当前项目状态与遇到的具体问题

  1. 版本迁移相关问题:

    • 原本我用的是Angular 7,现在正在迁移到Angular 19,迁移过程中遇到了Firebase API调用的上下文错误:
      login.component.ts:32 Firebase API called outside injection context: ɵzoneWrap(getRedirectResult)
      login.component.ts:32 Calling Firebase APIs outside of an Injection context may destabilize your application leading to subtle change-detection and hydration bugs.
      
    • 现在已经升级到Angular 19 + @angular/fire 19.0.0-rc.4,但项目在Android 14的Chrome上还是无法正常工作,目前重点想解决在Angular 19里实现document.cookie设置__session令牌的逻辑。
  2. Auth方式切换后的新问题:

    • 我尝试把signinWithRedirect换成signinWithPopup(因为之前一个测试项目用Popup能正常工作,而主项目用Redirect会出问题),结果遇到了跨源策略错误:
      main-NYXVCRV2.js:8 Cross-Origin-Opener-Policy policy would block the window.closed call.
      

我的Angular 7环境信息(供参考)

ng version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
   

Angular CLI: 7.3.10
Node: 18.20.5
OS: linux x64
Angular: 7.2.16
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.13.10
@angular-devkit/build-angular     0.12.4
@angular-devkit/build-optimizer   0.12.4
@angular-devkit/build-webpack     0.12.4
@angular-devkit/core              7.3.10
@angular-devkit/schematics        7.3.10
@angular/cdk                      7.3.7
@angular/cli                      7.3.10
@angular/fire                     5.4.2
@angular/material                 7.3.7
@ngtools/webpack                  7.2.4
@schematics/angular               7.3.10
@schematics/update                0.13.10
rxjs                              6.3.3
typescript                        3.2.2
webpack                           4.28.4

希望有经验的朋友能帮忙指导一下:

  • 如何在Angular 19里正确实现__session cookie的设置逻辑?
  • 迁移过程中Firebase注入上下文的错误该怎么解决?
  • signinWithPopup遇到的跨源Opener策略问题有没有解决方案?
  • 其他针对Chrome第三方Cookie拦截的替代方案也可以推荐!

备注:内容来源于stack exchange,提问作者neuberfran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 12:49:33