better error message

This commit is contained in:
ston1th 2018-01-03 21:17:56 +01:00
commit 9291fdbf6a

10
jwt.go
View file

@ -23,7 +23,7 @@ const (
) )
var ( var (
ErrNoJWT = errors.New("no json web token") ErrNoJWT = errors.New("not a json web token")
ErrUnsupportedAlg = errors.New("unsupported algorithm") ErrUnsupportedAlg = errors.New("unsupported algorithm")
ErrInvalid = errors.New("token validation failed") ErrInvalid = errors.New("token validation failed")
ErrBlacklisted = errors.New("token blacklisted") ErrBlacklisted = errors.New("token blacklisted")
@ -278,6 +278,14 @@ func DecodeToken(token string) (t *Token, err error) {
if len(parts) < 3 { if len(parts) < 3 {
return nil, ErrMissingTokenParts return nil, ErrMissingTokenParts
} }
if len(parts) > 3 {
return nil, ErrNoJWT
}
for _, v := range parts {
if v == "" {
return nil, ErrNoJWT
}
}
t = new(Token) t = new(Token)
header, err := base64.URLEncoding.DecodeString(parts[0]) header, err := base64.URLEncoding.DecodeString(parts[0])
if err != nil { if err != nil {