【问题标题】:Firebase reset password issueFirebase 重置密码问题
【发布时间】:2016-03-27 22:21:06
【问题描述】:

只是一个简单的问题。我已经使用 Firebase 设置了一个后端,并且正在使用 swift。我已经创建了一个用户,登录了一个用户并忘记了密码,所有这些都可以正常工作。但是有没有人知道如何检查用户是否使用发送的电子邮件中的重置密码登录。

我想要做的是在登录时检查他们是否使用电子邮件重置密码,如果是,我可以强制他们更改密码。我似乎不知道如何做到这一点。

谢谢

【问题讨论】:

    标签: ios firebase


    【解决方案1】:

    一旦用户请求忘记密码电子邮件,他们将收到一封带有临时(24 小时)令牌的电子邮件,他们必须使用该令牌登录,然后从那里更改密码。

    查看文档以获取有关应用程序中密码和电子邮件更改的更多信息。 https://www.firebase.com/docs/ios/guide/login/password.html

    【讨论】:

    • 我在我的应用程序上为自己创建了一个登录名并忘记了密码。然后我收到了电子邮件,其中包含我用来在我的应用程序中登录的临时密码,然后它登录并正常继续。没有更改密码的请求。我想一种可能的方法是创建一个用户数据库,当有人按下忘记密码时输入一个条目,然后当他们再次登录时,它将检查该条目是否存在,然后强制用户更改密码。我只是希望有一行简单的代码可以检查他们是否使用临时密码登录。
    • 抱歉,特伦顿,再次查看页面时在底部发现了它:providerData[@"isTemporaryPassword"]。有时我的大脑真的很痛,哈哈
    【解决方案2】:

    我处理这件事的方式与你描述的略有不同,但它到达了同一个地方。用户获得临时密码后,系统会提示他们输入发送到其电子邮件的临时密码。在他们输入密码后,他们会立即被要求将密码更改为新密码,然后才能继续。我想那些临时密码太复杂了,没有人会记住或持有它们太久,所以最好尽快让他们使用自己的密码。

    【讨论】:

      【解决方案3】:

      https://firebase.google.com/docs/reference/ios/firebaseauth/api/reference/Classes/FIRAuth

      在 Swift 3.x 和 Firebase 3.x 中

      FIRAuth.auth()?.sendPasswordReset(withEmail: email) { error in
      
          // Your code here
      }
      

      Firebase 4 版本

      Auth.auth().sendPasswordReset(withEmail: email) { error in
      
          // Your code here
      }
      

      【讨论】:

        猜你喜欢
        • 2016-10-04
        • 2018-10-13
        • 2013-01-14
        • 1970-01-01
        • 2016-09-05
        • 2019-05-14
        • 2018-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多