This commit is contained in:
Dave Grijalva 2012-07-07 12:12:49 -07:00
parent 0a26d2272f
commit 224f53452d
2 changed files with 4 additions and 9 deletions

4
jwt.go
View File

@ -33,6 +33,7 @@ func New(method SigningMethod) *Token {
"alg": method.Alg(),
},
Claims: make(map[string]interface{}),
Method: method,
}
}
@ -101,7 +102,8 @@ func Parse(tokenString string, keyFunc Keyfunc) (token *Token, err error) {
// Lookup signature method
if method, ok := token.Header["alg"].(string); ok {
if token.Method, err = GetSigningMethod(method); err != nil {
if token.Method = GetSigningMethod(method); token.Method == nil {
err = errors.New("Signing method (alg) is unavailable.")
return
}
} else {

View File

@ -1,10 +1,5 @@
package jwt
import (
"errors"
"fmt"
)
var signingMethods = map[string]func() SigningMethod{}
// Signing method
@ -21,11 +16,9 @@ func RegisterSigningMethod(alg string, f func() SigningMethod) {
}
// Get a signing method from an "alg" string
func GetSigningMethod(alg string) (method SigningMethod, err error) {
func GetSigningMethod(alg string) (method SigningMethod) {
if methodF, ok := signingMethods[alg]; ok {
method = methodF()
} else {
err = errors.New(fmt.Sprintf("Invalid signing method (alg): %v", method))
}
return
}