Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase验证:在应用程序内验证帐户并重置密码_Android_Firebase_Firebase Authentication_Password Protection_Password Recovery - Fatal编程技术网

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客户端库解析深层链接,然后可以获取代码,应用它并要求用户在应用程序中输入新密码。