【问题标题】:Set Minimum Password Length Firebase Email & Password Authentication设置最小密码长度 Firebase 电子邮件和密码身份验证
【发布时间】:2016-07-19 00:13:38
【问题描述】:

使用 Firebase 的电子邮件和密码设置时,密码似乎没有安全限制。

例如,我可以创建以下用户:

firebaseRef.createUser(
{
    email: "john.doe@example.org",
    password: "j"
});

我想至少设置一个最小密码长度。 firebase 是否提供了一种方法来做到这一点?

【问题讨论】:

    标签: firebase firebase-security firebase-authentication


    【解决方案1】:

    使用弱密码(少于 6 个字符)创建新帐户或更新现有帐户的密码时会抛出 FirebaseAuthWeakPasswordException。使用 getReason() 获取一条消息,其中包含验证失败的原因,您可以将其显示给您的用户。

    更多详情请见https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseAuthWeakPasswordException

    【讨论】:

    • String reason = ((FirebaseAuthWeakPasswordException) task.getException()).getReason();
    • 其实只要使用task.getException().getMessage()也能按预期工作。
    【解决方案2】:

    目前无法为 Firebase 电子邮件+密码身份验证配置最小密码长度或强度。

    您可以在您的应用中构建这样的限制,但精通技术的用户可以通过调用 API 绕过该限制。或者您可以引入只有服务器端进程可以设置的“isPasswordApproved”标志,然后在那里验证密码强度。但这些听起来都不是很吸引人。

    【讨论】:

      【解决方案3】:

      我认为在这里实现前端验证就足够了(至少在大部分应用程序中)。

      如果此验证的目的是保护用户本人,那么允许用户破解您的应用程序并将密码设置为password,去论坛并发布凭据并跳出并没有什么害处一个窗口。

      【讨论】:

      • 问题是用户可以重置密码并设置新密码,无需应用程序进行验证(除非使用自定义身份验证处理程序)。
      【解决方案4】:

      问题在于 Firebase 发送的重置密码表单。使用它会很好,而且不必构建它。

      【讨论】:

      猜你喜欢
      • 2016-02-11
      • 2019-03-15
      • 2016-11-13
      • 1970-01-01
      • 2016-10-13
      • 2018-11-11
      • 2013-07-11
      • 2019-07-13
      相关资源
      最近更新 更多