java - 如果用户退出,我如何允许用户更改其密码?
问题描述
我正在使用 Firebase 身份验证。我有电话验证。假设某个用户在他/她退出时忘记了他/她的密码。
电话验证后,我想允许他/她更改他/她的密码。(他/她没有登录)。我不能使用getCurrentUser()
,因为他没有登录。用户的帐户是用电子邮件创建的(电子邮件登录方法)。但验证是用电话号码进行的。那么,我该怎么做呢?
解决方案
您可以使用updatePassword()更改用户的密码。这是FirebaseUser类的一个方法。当用户登录时,您只能获取其中一个对象。因此,除非用户登录,否则不可能让用户更改自己的密码。
唯一的替代方法是构建一个“后门”,允许用户填写一些表单并将其提交到您的后端,这样您就可以使用Firebase Admin SDK直接更新用户帐户,绕过正常的安全问题. Admin SDK 仅在后端运行,而不在客户端应用程序中运行。
推荐阅读
- spring-security - 如何在反应式 Spring 控制器中获取委托人,而不在方法签名中添加一些委托人?
- flutter - 颤振 ffi 断网
- python - cassandra.protocol.SyntaxException:message="line 0:-1 在输入处没有可行的替代方案'
'"> - flutter - Flutter pub.get 停止工作,即使在 vanilla install 上:套接字错误尝试查找包 xxx
- sql - 如何在 SQL DBeaver 中查找时间戳大于某个日期时间的数据?
- ios - WidgetKit:如何定期唤醒包含应用程序以获取内容并根据小部件时间线触发小部件重新加载?
- java - while 循环语句中的扫描程序函数导致运行时错误
- python - 为二十一点游戏添加投注选项
- flutter - 如何在 Flutter Map 上创建多个多边形?
- javascript - 如何使用 javascript 完全加载亚马逊愿望清单?