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  }