Source File
signing_method.go
Belonging Package
github.com/golang-jwt/jwt/v4
package jwt
import (
)
var signingMethods = map[string]func() SigningMethod{}
var signingMethodLock = new(sync.RWMutex)
// SigningMethod can be used add new methods for signing or verifying tokens.
type SigningMethod interface {
Verify(signingString, signature string, key interface{}) error // Returns nil if signature is valid
Sign(signingString string, key interface{}) (string, error) // Returns encoded signature or error
Alg() string // returns the alg identifier for this method (example: 'HS256')
}
// RegisterSigningMethod registers the "alg" name and a factory function for signing method.
// This is typically done during init() in the method's implementation
func ( string, func() SigningMethod) {
signingMethodLock.Lock()
defer signingMethodLock.Unlock()
signingMethods[] =
}
// GetSigningMethod retrieves a signing method from an "alg" string
func ( string) ( SigningMethod) {
signingMethodLock.RLock()
defer signingMethodLock.RUnlock()
if , := signingMethods[]; {
= ()
}
return
}
// GetAlgorithms returns a list of registered "alg" names
func () ( []string) {
signingMethodLock.RLock()
defer signingMethodLock.RUnlock()
for := range signingMethods {
= append(, )
}
return
}
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |