首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在andorid中更改firebase用户

如何在andorid中更改firebase用户
EN

Stack Overflow用户
提问于 2019-08-29 04:21:36
回答 1查看 66关注 0票数 0

我是devlop一个有组管理员的应用程序,这个组管理员可以通过签署他们的firebase加入用户,并在管理员签名后,我希望应用程序将登录回管理员(应用程序可以有多个管理员-每个组一个),我试图保存当前的firebase用户,然后切换回来,但当firebaseauth是更改它自动更改永久用户,我甚至使他最终,但它没有帮助

代码语言:javascript
复制
private final FirebaseUser currUser = currUserauth.getCurrentUser();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_contact);
        db = FirebaseFirestore.getInstance();

        Button addContactBtn = findViewById(R.id.add_contact_btn);
        progressBar = findViewById(R.id.add_content_progressbar);


            userEmailEt = findViewById(R.id.et_email);
            passwordEt = findViewById(R.id.et_password);
            confirmBtnEt = findViewById(R.id.confirmBtn);
        nameEt = findViewById(R.id.add_contact_name_et);

        addContactBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addNewContact();
            }
        });
    }

    private void addNewContact() {

        progressBar.setVisibility(View.VISIBLE);

        final String email = userEmailEt.getText().toString();
        String password = passwordEt.getText().toString().trim();
        final String name = nameEt.getText().toString();

        if (!Patterns.EMAIL_ADDRESS.matcher(email).matches() || email.equals("")) {
            userEmailEt.setError("Email is not valid");
        } else if (TextUtils.isEmpty(password)) {
            passwordEt.setError("password is not valid");
        } else if(TextUtils.isEmpty(name)){
            nameEt.setError("נא למלא שם");
        }else {

            mAuth.createUserWithEmailAndPassword(email, password)
                    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if (task.isSuccessful()) {
                                // Sign in success, update UI with the signed-in user's information

                                FirebaseUser firebaseUser = mAuth.getCurrentUser();
                                Toast.makeText(getApplicationContext(), "User created successfully", Toast.LENGTH_SHORT).show();

    update();
                                progressBar.setVisibility(View.GONE);

                                mAuth.signOut();


                                mAuth.updateCurrentUser(currUser).addOnCompleteListener(new OnCompleteListener<Void>() {
                                    @Override
                                    public void onComplete(@NonNull Task<Void> task) {
                                mAuth.getCurrentUser().reload().addOnCompleteListener(new OnCompleteListener<Void>() {
                                    @Override
                                    public void onComplete(@NonNull Task<Void> task) {

                                        Intent intent = new Intent(getApplicationContext(), ContactActivity.class);
                                        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                        System.out.println("From addContactActivity: " + mAuth.getCurrentUser().getEmail());
                                        startActivity(intent);
                                        finish();
                                    }
                                });
EN

回答 1

Stack Overflow用户

发布于 2019-08-29 04:27:03

用户帐户不能在前端的Firebase身份验证中创建其他用户帐户。此外,一次只能有一个用户登录。

您要做的最适合在您控制的后端上运行,使用create the user accountsFirebase Admin SDK

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57699556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档