Firebase Admin SDK 无法与 FirebaseAuth 一起使用

问题描述 投票:0回答:1

我在尝试在 Android 应用程序中创建用户管理系统时遇到 Firebase 管理 SDK 和 Firebase 身份验证问题。

因此,当管理员帐户登录应用程序时,用户管理应该处于活动状态。 否则,当用户登录用户管理系统时应该处于非活动状态。 当我尝试在 build.gradle 文件中使用 Firebase 身份验证实现 Firebase Admin SDK 时。

dependencies {
    implementation 'com.google.firebase:firebase-auth:22.3.1'

    implementation platform('com.google.firebase:firebase-bom:32.8.0')
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.11.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.firebase:firebase-admin:9.2.0'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
    implementation 'androidx.recyclerview:recyclerview:1.3.2'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

Firebase 身份验证覆盖了一些库,我无法获取所有用户的列表。如果我删除依赖项

implementation 'com.google.firebase:firebase-auth:22.3.1'
,我将无法使用
FirebaseUser

public List<FirebaseUser> getUsers() throws FirebaseAuthException {
        FirebaseAuth auth1 = FirebaseAuth.getInstance();
        List<FirebaseUser> users =  auth1.getUsers(uids);
        return users;
    }

但是IDEA无法识别admin SDK的方法。

java android intellij-idea firebase-authentication android-gradle-plugin
1个回答
0
投票

当您使用以下依赖项时:

implementation 'com.google.firebase:firebase-auth:22.3.1'

这意味着您正在尝试使用 Firebase Authentication 客户端 SDK,而不是 Firebase Admin SDK,后者是一组服务器库,可让您从特权环境与 Firebase 进行交互。

如果您想将自己的服务器与 Firebase 身份验证集成,那么我建议您使用 Admin Auth API

当涉及到客户端 SDK 时,请注意 FirebaseAuth 类不包含任何

.getUsers()
方法,因此会出现该错误。另一方面,Firebase Admin SDK 允许使用名为
.getUsersAsync()
的方法检索用户列表。

因此,请选择更适合您应用程序用例的服务,不要混合使用它们,因为这两种服务有不同的用途。

附注当您使用时:

implementation platform('com.google.firebase:firebase-bom:32.8.0')

无需指定Auth的版本,可以简单为:

implementation 'com.google.firebase:firebase-auth'
© www.soinside.com 2019 - 2024. All rights reserved.