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

Angular Firebase认证报错排查:__rest函数未定义及跨域问题

问题:Angular Firebase Auth登录后触发__rest函数错误,无法获取用户元数据

配置与代码

  • 已完成Google、Facebook、匿名登录的配置,核心代码如下:
    导入模块:
    import { GoogleAuthProvider, FacebookAuthProvider, GithubAuthProvider, OAuthProvider } from 'firebase/auth'
    import { AngularFireAuth } from '@angular/fire/compat/auth'
    
    注入AngularFireAuth实例:
    readonly angularFireAuth: AngularFireAuth = inject(AngularFireAuth)
    
    Google登录方法:
    loginWithGoogle(): Promise<ProviderUserCredential> {
      return this.angularFireAuth.signInWithPopup(new GoogleAuthProvider())
    }
    
    匿名登录方法:
    this.angularFireAuth.signInAnonymously()
    
  • 使用的依赖版本:"@angular/fire": "^16.0.0"

错误现象

  1. 打开Google登录弹窗后,控制台连续4次抛出跨域相关错误:
    main.b498f38b5156900e.js:1 Cross-Origin-Opener-Policy policy would block the window.closed call.
    
  2. 选择用户完成登录后,出现核心错误:
    ERROR Error: Uncaught (in promise): TypeError: (0 , m.__rest) is not a function
    TypeError: (0 , m.__rest) is not a function
        at new oe (main.b498f38b5156900e.js:1:28842)
        at main.b498f38b5156900e.js:1:33125
        at Generator.next (<anonymous>)
        at r (main.b498f38b5156900e.js:1:2177436)
        at ne (main.b498f38b5156900e.js:1:2177646)
        at main.b498f38b5156900e.js:1:2177710
        at new t (polyfills.27a67f4029681117.js:1:18388)
        at main.b498f38b5156900e.js:1:2177585
        at oe._fromIdTokenResponse (main.b498f38b5156900e.js:1:33212)
        at main.b498f38b5156900e.js:1:69515
        at z (polyfills.27a67f4029681117.js:1:16000)
        at z (polyfills.27a67f4029681117.js:1:15550)
        at polyfills.27a67f4029681117.js:1:16832
        at v.invokeTask (polyfills.27a67f4029681117.js:1:7203)
        at Object.onInvokeTask (main.b498f38b5156900e.js:1:1269912)
        at v.invokeTask (polyfills.27a67f4029681117.js:1:7124)
        at L.runTask (polyfills.27a67f4029681117.js:1:2583)
        at _ (polyfills.27a67f4029681117.js:1:9220)
    
    对应压缩后的出错代码片段:
    var {uid: M, auth: Y, stsTokenManager: we} = b
                  , ct = (0,
                m.__rest)(b, ["uid", "auth", "stsTokenManager"]);
    
  3. 执行匿名登录时,无需打开弹窗也会触发完全相同的__rest函数错误
  4. 虽然Firebase控制台中已成功创建用户,但再次登录仍会报错,无法获取用户元数据(如authId、displayName等)

疑问

请问哪里操作有误?如何解决该错误以正常获取用户元数据?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 23:35:55