github.com/aarzilli/tools@v0.0.0-20151123112009-0d27094f75e0/appengine/login/googlesignin/jwt-go/signing_method.go (about) 1 package jwt 2 3 var signingMethods = map[string]func() SigningMethod{} 4 5 // Signing method 6 type SigningMethod interface { 7 Verify(signingString, signature string, key interface{}) error 8 Sign(signingString string, key interface{}) (string, error) 9 Alg() string 10 } 11 12 // Register the "alg" name and a factory function for signing method. 13 // This is typically done during init() in the method's implementation 14 func RegisterSigningMethod(alg string, f func() SigningMethod) { 15 signingMethods[alg] = f 16 } 17 18 // Get a signing method from an "alg" string 19 func GetSigningMethod(alg string) (method SigningMethod) { 20 if methodF, ok := signingMethods[alg]; ok { 21 method = methodF() 22 } 23 return 24 }