29 lines
512 B
Go
29 lines
512 B
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/golang-jwt/jwt/v5"
|
|
)
|
|
|
|
func SignJWT(c jwt.Claims) (string, error) {
|
|
token := jwt.NewWithClaims(jwt.SigningMethodHS256, c)
|
|
ts, err := token.SignedString([]byte("123"))
|
|
|
|
return ts, err
|
|
}
|
|
|
|
func ValidateJWT(h string) (jwt.MapClaims, error) {
|
|
token, err := jwt.Parse(h, func(token *jwt.Token) (interface{}, error) {
|
|
return []byte("123"), nil
|
|
})
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return nil, err
|
|
}
|
|
|
|
claims := token.Claims.(jwt.MapClaims)
|
|
|
|
return claims, err
|
|
}
|