You*_*mal 2 android firebase firebase-authentication
我有一个社交媒体应用程序,我FirebaseUI用来让用户使用电子邮件、谷歌或 Facebook 登录/注册该应用程序。
如果使用“电子邮件”作为提供商,如何让用户稍后更改他/她的密码?
如果使用 Facebook 或 Google 作为提供商,我可以让他/她通过给他/她更改密码的选项来将电子邮件密码设置为身份验证方法吗?。
来自用户的更改密码操作应使用用户输入的新密码将电子邮件密码设置为 firebase 中的身份验证方法。
然后,用户应该能够使用电子邮件密码或与同一电子邮件链接的身份验证提供程序(Facebook/Google)登录。
回答你的问题:
这是用于更改/更新用户密码的示例代码片段:
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.");
}
}
});
Run Code Online (Sandbox Code Playgroud)
2. A. 更改了密码,在您的应用程序:
不
Facebook、Google 和 Twitter 等登录提供商不开放此功能 (API) 以防止中间人和其他攻击/滥用。
湾 用户在登录后在服务提供商处更改了密码
用户仍然可以登录您的应用程序,认证过程直接交给服务提供商,所以您不必担心!
C。使用相同的电子邮件地址进行多次身份验证。
参考
假设用户 A 使用 Facebook 登录到我的应用程序,然后他转到他在我的应用程序中的个人资料,并更改了他的密码,下次登录时我希望他有 2 个选项:1- 通常使用 Facebook 登录 2- 使用他的登录facebook邮箱+他之前保存的密码
答案是YES,但你必须先合并细节,这里是参考。您实际上可以通过标识相同的 Firebase 用户 ID 来链接/合并同一电子邮件地址的用户详细信息,而不管他们用于登录的身份验证提供程序如何。
例如,使用密码登录的用户可以关联 Google 帐户并在以后使用任一方法登录。或者,匿名用户可以关联 Facebook 帐户,然后在稍后登录 Facebook 以继续使用您的应用。
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
3485 次 |
| 最近记录: |