No crazy password rules
This commit is contained in:
parent
3eb1d522e3
commit
663e5ae7cd
2 changed files with 2 additions and 30 deletions
21
helpers.go
21
helpers.go
|
@ -7,7 +7,6 @@ import (
|
|||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
"unicode"
|
||||
|
||||
"github.com/gorilla/context"
|
||||
"github.com/lib/pq"
|
||||
|
@ -73,26 +72,6 @@ func currentTime() NullTime {
|
|||
}
|
||||
}
|
||||
|
||||
// http://stackoverflow.com/a/25840157/313548
|
||||
func verifyPassword(s string) (sevenOrMore, number, upper bool) {
|
||||
letters := 0
|
||||
for _, s := range s {
|
||||
switch {
|
||||
case unicode.IsNumber(s):
|
||||
number = true
|
||||
case unicode.IsUpper(s):
|
||||
upper = true
|
||||
letters++
|
||||
case unicode.IsLetter(s) || s == ' ':
|
||||
letters++
|
||||
default:
|
||||
// returns false, false, false, false
|
||||
}
|
||||
}
|
||||
sevenOrMore = letters >= 7
|
||||
return
|
||||
}
|
||||
|
||||
func generateNonce() (string, error) {
|
||||
b := make([]byte, 32)
|
||||
_, err := rand.Read(b)
|
||||
|
|
11
users.go
11
users.go
|
@ -106,16 +106,9 @@ func (u *User) validate() error {
|
|||
validationError = true
|
||||
}
|
||||
|
||||
if u.Password == "" {
|
||||
uv.Password = append(uv.Password, MustProvideAValue)
|
||||
if len(u.Password) < 8 {
|
||||
uv.Password = append(uv.Password, "Password must be at least 8 characters")
|
||||
validationError = true
|
||||
} else {
|
||||
sevenOrMore, number, upper := verifyPassword(u.Password)
|
||||
if !sevenOrMore || !number || !upper {
|
||||
uv.Password = append(uv.Password, "Password must be at least 8 characters"+
|
||||
" long, and have at least one number and one uppercase letter")
|
||||
validationError = true
|
||||
}
|
||||
}
|
||||
|
||||
if validationError {
|
||||
|
|
Reference in a new issue