我的应用程序与firebase数据库和身份验证相关联。
当用户创建帐户时,密码的唯一要求是它为6个字符。无论如何我可以使密码更复杂,例如使它们有大写字母和数字。
我可以直接从firebase执行此操作,还是需要从我的代码执行此操作?
答案 0 :(得分:2)
使用此功能。它包括范围6-15,即最小6和最多15个字符。一个大写字母,分别为一个数字。
func isValidPasswordString(pwdStr:String) -> Bool {
let pwdRegEx = "(?:(?:(?=.*?[0-9])(?=.*?[-!@#$%&*ˆ+=_])|(?:(?=.*?[0-9])|(?=.*?[A-Z])|(?=.*?[-!@#$%&*ˆ+=_])))|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[-!@#$%&*ˆ+=_]))[A-Za-z0-9-!@#$%&*ˆ+=_]{6,15}"
let pwdTest = NSPredicate(format:"SELF MATCHES %@", pwdRegEx)
return pwdTest.evaluate(with: pwdStr)
}
对于有效的密码字符串
,此func将返回true答案 1 :(得分:1)
无法配置Firebase身份验证的密码强度规则。
另见
您可以(并且应该)将其限制在您的代码中。但是,您无法通过直接调用API来阻止恶意用户绕过此行。
如果密码强度是您的应用的硬性要求,请考虑实施custom authentication。这个example of custom username (instead of email) and password authentication可能会有所帮助。