Android Firebase验证:在应用程序内验证帐户并重置密码
我正在创建一个以Android Firebase验证:在应用程序内验证帐户并重置密码,android,firebase,firebase-authentication,password-protection,password-recovery,Android,Firebase,Firebase Authentication,Password Protection,Password Recovery,我正在创建一个以Firebase为后端的应用程序。一切看起来都很顺利,但在身份验证方面存在一些问题 FirebaseUser.sendEmailVerification()方法发送一封包含链接的电子邮件,打开INTERNET浏览器。它工作正常,但是否可以在应用程序中重定向和管理验证?在这个工作流程中,浏览器似乎是多余的 类似地,FirebaseAuth.sendPasswordResetEmail([email])方法使用浏览器作为更改密码的界面。在应用程序中更改它会更方便。有办法吗 通过将ca
Firebase
为后端的应用程序。一切看起来都很顺利,但在身份验证方面存在一些问题
FirebaseUser.sendEmailVerification()
方法发送一封包含链接的电子邮件,打开INTERNET浏览器。它工作正常,但是否可以在应用程序中重定向和管理验证?在这个工作流程中,浏览器似乎是多余的FirebaseAuth.sendPasswordResetEmail([email])
方法使用浏览器作为更改密码的界面。在应用程序中更改它会更方便。有办法吗通过将
canHandleCodeInApp
设置为true的ActionCodeSettings选项传递给应用程序,您可以让sendEmailVerification
和sendPasswordResetEmail
直接向应用程序发送带有操作代码的Firebase动态链接。请在此处了解更多信息:
在这种情况下,您需要检测传入的应用程序链接,使用FDL解析深层链接,获取操作代码和模式,并构建自己的UI来验证电子邮件或重置密码。您可以将此指南移植到Android上,以了解更多信息:今天晚些时候我会检查您的方法,但看起来,您救了我一天!谢谢!我会将此标记为答案,但不清楚如何使用带有
sendPasswordResetEmail
的动态链接?我是否应该更改Firebase控制台中的电子邮件模板链接?但是它必须是什么样子,我将如何将新密码传递给服务?我建议您阅读文档以了解完整的详细信息。您不会更改电子邮件模板,也不会传递任何新密码。发送密码重置电子邮件后,使用识别应用程序的正确操作代码设置(确保正确配置FDL),然后添加逻辑,通过意图过滤器拦截传入链接,使用FDL客户端库解析深层链接,然后可以获取代码,应用它并要求用户在应用程序中输入新密码。