【问题标题】:Android Firebase Auth: verify account and reset password within the AppAndroid Firebase Auth:在应用内验证帐户并重置密码
【发布时间】:2017-11-06 09:05:07
【问题描述】:

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

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

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

【问题讨论】:

    标签: android firebase firebase-authentication password-protection password-recovery


    【解决方案1】:

    您可以让 sendEmailVerificationsendPasswordResetEmail 将带有操作代码的 Firebase 动态链接直接发送到应用,方法是传递一个将 canHandleCodeInApp 设置为 true 的 ActionCodeSettings 选项。在此处了解更多信息: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 控制台中的电子邮件模板链接吗?但它必须是什么样子,我将如何将新密码传递给服务?
    • 我建议您阅读文档以获取完整的详细信息。您不会更改电子邮件模板,也不会传递任何新密码。在您发送密码重置电子邮件并使用正确的操作代码设置识别您的应用程序后(确保正确配置 FDL),然后添加逻辑以通过意图过滤器拦截传入链接,使用 FDL 客户端库解析深层链接,然后,您可以获取代码、应用它并在您的应用程序中向用户询问新密码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 2019-07-27
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    相关资源
    最近更新 更多