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

跨Firebase项目共享Web端认证令牌,Android端验证失败的问题求助

跨Firebase项目共享Web端认证令牌,Android端验证失败的问题求助

各位大佬好,遇到个棘手的问题想请教大家:

我目前有三个独立的Firebase项目,分别对应我的Angular网站、Node.js后端服务(使用Firebase Admin SDK)和Android应用。网站这边用Firebase Authentication实现登录,和后端的配合完全正常——用户在网站登录后,把认证令牌传给后端,后端能顺利获取到登录用户的对象。

但当我把这个网站生成的令牌共享给Android应用,用Android端的Firebase SDK验证时却一直失败。我在Android端写了如下代码:

private void handleWebToken(String webToken) {
    // Create an AuthCredential using the web token
    AuthCredential credential = GoogleAuthProvider.getCredential(webToken, null);

    // Sign in with the AuthCredential
    FirebaseAuth.getInstance().signInWithCredential(credential)
        .addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                // User authentication is successful
                FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                if (user != null) {
                    // You can get the user details like email, display name, etc.
                    String email = user.getEmail();
                    String displayName = user.getDisplayName();
                }
            } else {
                // User authentication failed
            }
        });
}

运行这段代码后,我始终无法获取到有效的用户对象,拿到的user一直是null。

我一开始以为是Android端的Firebase项目没开启对应的认证方法,特意去配置里开启了相关选项,但问题依然存在。

更新记录

  • 02-August-2023:后来发现跨Firebase项目共享令牌和用户似乎不是件简单的事。查询相关信息后得知:不同的Firebase项目拥有独立的用户数据库和认证系统,彼此之间并不兼容,没法直接共享用户和令牌?
  • 03-August-2023:我不死心,又尝试在Android应用中配置了第二个FirebaseApp,使用的是网站所在Firebase项目的配置。但调用FirebaseAuth.signInWithCredential(...)还是失败,抛出FirebaseAuthInvalidUserException,调用FirebaseAuth.getCurrentUser()也依然拿不到用户。

有没有大佬遇到过类似的场景?或者有没有可行的方案能实现跨Firebase项目共享Web端的认证令牌,让Android端可以正常验证用户身份?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:57:58