1

我的應用程序與Firebase數據庫和身份驗證相關聯。Firebase身份驗證:密碼必須包含大寫字母

當用戶創建一個帳戶時,密碼的唯一要求是它的長度爲6個字符。無論如何,我可以讓密碼更復雜,比如讓他們有大寫字母和數字。

我可以直接從firebase執行此操作,還是需要從我的代碼執行此操作?

+0

到目前爲止試過了什麼?你能告訴我們你的密碼代碼 – UmarZaii

+1

是的,你當然可以做到這一點。它將在前端完成,而不是在後端完成。 在您的應用程序中,您可以編寫一些字符串解析方法,確保該字符串包含大寫字母和數字 –

+0

如果您想直接從Firebase執行此操作,則可能需要使用Firebase規則。 – UmarZaii

回答

2

使用此功能。它包括6-15範圍,即最小6和最大15個字符。一個大寫字母,分別爲一個數字。

func isValidPasswordString(pwdStr:String) -> Bool { 

    let pwdRegEx = "(?:(?:(?=.*?[0-9])(?=.*?[[email protected]#$%&*ˆ+=_])|(?:(?=.*?[0-9])|(?=.*?[A-Z])|(?=.*?[[email protected]#$%&*ˆ+=_])))|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[[email protected]#$%&*ˆ+=_]))[[email protected]#$%&*ˆ+=_]{6,15}" 

    let pwdTest = NSPredicate(format:"SELF MATCHES %@", pwdRegEx) 
    return pwdTest.evaluate(with: pwdStr) 
} 

本功能將返回true爲有效密碼字符串

1

有沒有辦法來配置火力地堡認證的規則,密碼強度。

另見

您可以(也應該)從您的代碼中限制它。但是,您無法通過直接調用API來阻止惡意用戶繞過此操作。

如果密碼強度對您的應用程序是一個硬性要求,請考慮執行custom authentication。這example of custom username (instead of email) and password authentication可能會有所幫助。