验证后拒绝Firebase权限

Ambuj kathotiya

我正在制作一个android应用程序。我首先使用电子邮件和密码登录用户,然后使用OnComplete方法登录,如果任务成功,则尝试访问数据库中的数据。但是,每当我收到消息,收听/失败。

我的主要活动代码如下-

private FirebaseAuth auth;
private EditText inputEmail, inputPassword;
private Button btnLogin;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Firebase.setAndroidContext(this);
    //Get Firebase auth instance
    auth = FirebaseAuth.getInstance();

    if (auth.getCurrentUser() != null) {
        startActivity(new Intent(MainActivity.this, MainActivity.class));
        finish();
    }

    setContentView(R.layout.activity_main);
    inputEmail = (EditText) findViewById(R.id.txtMobile);
    inputPassword = (EditText) findViewById(R.id.txtPassword);
    btnLogin = (Button) findViewById(R.id.btnLogin);

    auth = FirebaseAuth.getInstance();


    btnLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String email = inputEmail.getText().toString();
            final String password = inputPassword.getText().toString();


            //authenticate user
            auth.signInWithEmailAndPassword(email, password)
                    .addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            // If sign in fails, display a message to the user. If sign in succeeds
                            // the auth state listener will be notified and logic to handle the
                            // signed in user can be handled in the listener.
                            if (!task.isSuccessful()) {
                                // there was an error
                                Log.e("Invalid","Invalid");

                            } else {
                                /*Intent intent = new Intent(MainActivity.this, Second.class);
                                startActivity(intent);
                                finish();*/
                                Firebase.getDefaultConfig();

                                auth = FirebaseAuth.getInstance();

                                if (auth.getCurrentUser() != null) {
                                    Log.e("awesome",auth.getCurrentUser().getEmail());
                                }

                                Firebase firebase = new Firebase("https://test-fd3f2.firebaseio.com");
                                firebase.addChildEventListener(new ChildEventListener() {
                                    // Retrieve new posts as they are added to Firebase
                                    @SuppressWarnings("unchecked")
                                    @Override
                                    public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
                                        if(snapshot.getValue()!= null) {
                                            String mobileNum = snapshot.getValue().toString();
                                            Log.e("here", mobileNum);
                                        }
                                        //Log.e("Title: ",newPost.get("password").toString());
                                    }

                                    @Override
                                    public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                                    }

                                    @Override
                                    public void onChildRemoved(DataSnapshot dataSnapshot) {

                                    }

                                    @Override
                                    public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                                    }

                                    @Override
                                    public void onCancelled(FirebaseError firebaseError) {
                                        Log.e("Cancel",firebaseError.getCode()+"");
                                        Log.e("Cancel",firebaseError.getDetails());
                                        Log.e("Cancel",firebaseError.getMessage());
                                    }
                                    //... ChildEventListener also defines onChildChanged, onChildRemoved,
                                    //    onChildMoved and onCanceled, covered in later sections.
                                });
                            }
                        }
                    });
        }
    });


}

更新-我的Firebase规则如下-

        {
         "rules": {
         ".read": "auth != null",
         ".write": "auth != null"
          }
         }
弗兰克·范普菲伦

您正在混合使用不同的Firebase SDK:

  • auth.signInWithEmailAndPassword() 来自新的3.x / 9.x Firebase SDK
  • new Firebase() 来自Firebase 2.x SDK

登录到新的SDK,将不会验证与旧版SDK建立的数据库连接。因此,您的数据库连接仍未经身份验证。

解决方案是对build.gradle文件中的所有Firebase库使用单一版本(9.x)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

身份验证后读取数据时,Firebase权限被拒绝

来自分类Dev

Firebase 数据库的匿名身份验证权限被拒绝

来自分类Dev

Firebase写入权限被拒绝

来自分类Dev

Firebase权限被拒绝错误

来自分类Dev

Firebase权限被拒绝

来自分类Dev

Firebase电话身份验证可在Ionic 4中使用,但Firebase权限被拒绝

来自分类Dev

Android Firebase setValue()权限被拒绝

来自分类Dev

Firebase错误->代码=权限被拒绝

来自分类Dev

Firebase权限被安全规则拒绝

来自分类Dev

与Firebase DatabaseError颤抖:权限被拒绝

来自分类Dev

Firebase权限被安全规则拒绝

来自分类Dev

React / Rebase / Firebase警告:权限被拒绝-如何添加用户身份验证?

来自分类Dev

即使用户经过身份验证,Android默认的Firebase权限也被拒绝

来自分类Dev

使用身份验证安全规则时,Firebase读取权限被拒绝

来自分类Dev

身份验证失败-权限被EmberFire拒绝

来自分类Dev

导入验证码时权限被拒绝

来自分类Dev

创建主分区后权限被拒绝

来自分类Dev

-bash:挂钩/接收后:权限被拒绝

来自分类Dev

创建主分区后权限被拒绝

来自分类Dev

SSH登录后权限被拒绝错误

来自分类Dev

rsync后权限被拒绝(公钥)

来自分类Dev

“权限被拒绝(公钥)。” Cygwin更新后

来自分类Dev

更改密码后权限被拒绝(密码正确)

来自分类Dev

firebase-tools错误:EACCES:权限被拒绝

来自分类Dev

读取失败:firebase中的权限被拒绝错误

来自分类Dev

Firebase数据库Swift的权限被拒绝

来自分类Dev

读取失败:firebase中的权限被拒绝错误

来自分类Dev

如何检查 Firebase 权限是否被拒绝?

来自分类Dev

Firebase 数据库:读取权限被拒绝?

Related 相关文章

热门标签

归档