Android Firebase Auth:在应用程序内验证帐户并重置密码

Nic*_* M. 6 android password-protection password-recovery firebase firebase-authentication

我正在创建一个应用程序作为Firebase后端。一切看起来都很好很顺利,但是存在一些有关身份验证的问题。

  1. FirebaseUser.sendEmailVerification()方法发送一封包含链接的电子邮件,该链接可打开 INTERNET 浏览器。它工作正常,但是否可以在应用程序中重定向和管理验证?浏览器在这个工作流程中似乎是多余的。

  2. 同样,FirebaseAuth.sendPasswordResetEmail([email])方法使用浏览器作为更改密码的界面。在App内更改会更方便。有办法做到吗?

boj*_*eil 7

您可以同时拥有两者sendEmailVerification,并sendPasswordResetEmail通过传递设置为 true 的 ActionCodeSettings 选项,将带有操作代码的 Firebase 动态链接直接发送到应用程序canHandleCodeInApp。在此处了解有关此内容的更多信息: https: //firebase.google.com/docs/auth/android/passing-state-in-email-actions 在这种情况下,您需要检测传入的应用程序链接,使用 FDL 解析深度链接,获取操作代码和模式并构建您自己的 UI 来验证电子邮件或重置密码。您可以将本指南移植到 Android 以获取更多相关信息:https ://firebase.google.com/docs/auth/custom-email-handler

  • 我将其标记为答案,但尚不清楚如何使用“sendPasswordResetEmail”的动态链接?我应该更改 Firebase 控制台中的电子邮件模板链接吗?但它必须是什么样子,以及我如何将新密码传递给服务? (2认同)