gpt4 book ai didi

android - FirebaseAuth - 让用户使用任何提供商更改密码 - Android

转载 作者:行者123 更新时间:2023-12-05 00:16:52 25 4
gpt4 key购买 nike

我有一个社交媒体应用,我使用 FirebaseUI 让用户使用电子邮件、Google 或 Facebook 登录/注册该应用。

  1. 如果使用“电子邮件”作为密码,如何让用户稍后更改其密码提供商?

  2. 如果使用 Facebook 或 Google 作为提供商,我可以通过为他/她提供更改密码的选项来将电子邮件密码设置为身份验证方法吗?

  3. 用户的更改密码操作应将电子邮件密码设置为 Firebase 中的身份验证方法,并使用用户输入的新密码。

  4. 然后,用户应该能够使用电子邮件密码或与同一电子邮件链接的身份验证提供商(Facebook/Google)登录。

最佳答案

回答您的问题:

以下是用于更改/更新用户密码的示例代码 fragment :

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String newPassword = "SOME-SECURE-PASSWORD";

user.updatePassword(newPassword)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "User password updated.");
}
}
});

有关使用 Firebase 用户的详细信息已发布 here .

2.A。 更改应用中的密码:

Facebook、Google 和 Twitter 等登录提供商不会开放此功能 (API),以防止中间人和其他攻击/滥用。

b.用户登录后在服务提供商中更改了密码

用户仍然可以登录您的应用,身份验证过程直接交给服务提供商,因此您不必担心!

c.使用同一电子邮件地址进行多次身份验证。

引用

let's say user A logged in using Facebook to my app, then he went to his profile in MY APP , and changed his password, next time to login I want him to have 2 options: 1- Login using Facebook normally 2- Login using his facebook Email + the password that he saved earlier

答案是,但你必须先合并详细信息,这里是reference 。实际上,您可以通过识别相同的 Firebase 用户 ID 来链接/合并同一电子邮件地址的用户详细信息,而不管他们用于登录的身份验证提供商如何。

例如,使用密码登录的用户可以关联 Google 帐户,并在以后使用任一方法登录。或者,匿名用户可以关联 Facebook 帐户,然后使用 Facebook 登录以继续使用您的应用。

希望对您有帮助!

关于android - FirebaseAuth - 让用户使用任何提供商更改密码 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51725688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com