21 lines
464 B
Go
21 lines
464 B
Go
package jwt
|
|
|
|
import "github.com/golang-jwt/jwt/v5"
|
|
|
|
type HMACSigner struct {
|
|
secret []byte
|
|
}
|
|
|
|
func NewHMACSigner(secret []byte) *HMACSigner {
|
|
return &HMACSigner{secret: secret}
|
|
}
|
|
|
|
func (s *HMACSigner) Sign(claims jwt.Claims) (string, error) {
|
|
t := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
|
|
return t.SignedString(s.secret)
|
|
}
|
|
|
|
func (s *HMACSigner) Verify(tokenStr string) (jwt.Claims, error) {
|
|
return parse(tokenStr, jwt.SigningMethodHS256, s.secret)
|
|
}
|