No crazy password rules

This commit is contained in:
Matthew Dillon 2015-07-15 16:51:41 -08:00
parent 3eb1d522e3
commit 663e5ae7cd
2 changed files with 2 additions and 30 deletions

View file

@ -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)

View file

@ -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 {