小编Ana*_*ond的帖子

firebase 升级到 9.2.0 后,google 登录 uid 和 firebase uid 不匹配

我将 firebase 数据库升级到 9.2.0 版。firebase uid 曾经是 google:(google signin id),但是现在不匹配了。

升级前——

谷歌登录 uid = 101672719428298324455

Firebase uid = 谷歌:101672719428298324455

升级后——

谷歌登录 uid = 101672719428298324455

Firebase uid = fcojpImyQWTHp02YzWYsRezShKP2

google uid 是由其他服务(例如classroom)返回的,因此,我们需要使用它作为uid 来判断它是哪个用户。我们将更新 users 字段以使用 google 登录 uid 而不是 firebase 。

但是,那么,我们如何使用谷歌登录 uid 和升级后的 Firebase 为身份验证编写安全规则?规则的具体用例是教师可以阅读学生的成绩单。谷歌课堂为班级名册提供的教师和学生 uid 与谷歌登录 uid 匹配,而不是 firebase uid。

在升级后用于登录的代码下方 -

FirebaseAuth auth = FirebaseAuth.getInstance();
        AuthCredential credential = GoogleAuthProvider.getCredential(token, secret);
        auth.signInWithCredential(credential).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {

                // Authenticated successfully with payload authData
                AuthResult result …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication google-signin

5
推荐指数
1
解决办法
2029
查看次数