【问题标题】:Change password in android studio with firebase firestore as database在 android studio 中更改密码,使用 firebase firestore 作为数据库
【发布时间】:2020-04-06 06:40:55
【问题描述】:

我想建立一个功能,在用户登录后,在他们的个人资料中会显示他们的密码,他们可以点击它来更改他们的密码。问题是有人告诉我密码不能存储在数据库中,我应该使用 updatePassword() 方法来更改密码。但是,就我而言,我想先显示密码,然后让用户更改密码。有什么办法吗?

【问题讨论】:

  • 除非用户转到 Gmail 页面,否则您无法更改密码。
  • @MohammadMoeinGolchin 如果我使用不存在的电子邮件登录怎么办?那我改不了了?
  • 如果你想用google账号认证,你应该使用现有的账号
  • @MohammadMoeinGolchin 好的,谢谢

标签: android firebase google-cloud-firestore firebase-authentication


【解决方案1】:

您好,如果您使用的是 Firebase,我假设您也必须使用 Firebase 身份验证。 我建议不要在应用程序中向用户本人显示您的用户密码,甚至不要将其存储在任何地方。

为了帮助他们重置密码,请添加一个带有“重置密码”标签的按钮,点击该按钮后,他们可以通过电子邮件发送的链接重置密码。

只需添加以下代码即可:

resetPassword.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                oAuth.sendPasswordResetEmail(user_email_string)
                        .addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {

                                if (task.isSuccessful()) {
                                    Toast.makeText(getApplicationContext(), "Password Reset link sent to your registered E-Mail!", Toast.LENGTH_LONG).show();
                                }

                            }
                        });

            }
        });

别忘了在代码顶部声明 FirebaseAuth。

【讨论】:

  • 很高兴知道。您实际上可以将密码存储在数据库中,但这涉及添加 firebase 数据库规则以及逆向工程和其他人获取密码的风险..
猜你喜欢
  • 1970-01-01
  • 2023-01-27
  • 2017-02-13
  • 2021-01-09
  • 2019-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多