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"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
"unicode"
|
|
||||||
|
|
||||||
"github.com/gorilla/context"
|
"github.com/gorilla/context"
|
||||||
"github.com/lib/pq"
|
"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) {
|
func generateNonce() (string, error) {
|
||||||
b := make([]byte, 32)
|
b := make([]byte, 32)
|
||||||
_, err := rand.Read(b)
|
_, err := rand.Read(b)
|
||||||
|
|
11
users.go
11
users.go
|
@ -106,16 +106,9 @@ func (u *User) validate() error {
|
||||||
validationError = true
|
validationError = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if u.Password == "" {
|
if len(u.Password) < 8 {
|
||||||
uv.Password = append(uv.Password, MustProvideAValue)
|
uv.Password = append(uv.Password, "Password must be at least 8 characters")
|
||||||
validationError = true
|
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 {
|
if validationError {
|
||||||
|
|
Reference in a new issue