MCPcopy
hub / github.com/pocketbase/pocketbase / ParseJWT

Function ParseJWT

tools/security/jwt.go:28–43  ·  view source on GitHub ↗

ParseJWT verifies and parses JWT and returns its claims.

(token string, verificationKey string)

Source from the content-addressed store, hash-verified

26
27// ParseJWT verifies and parses JWT and returns its claims.
28func ParseJWT(token string, verificationKey string) (jwt.MapClaims, error) {
29 parser := jwt.NewParser(jwt.WithValidMethods([]string{"HS256"}))
30
31 parsedToken, err := parser.Parse(token, func(t *jwt.Token) (any, error) {
32 return []byte(verificationKey), nil
33 })
34 if err != nil {
35 return nil, err
36 }
37
38 if claims, ok := parsedToken.Claims.(jwt.MapClaims); ok && parsedToken.Valid {
39 return claims, nil
40 }
41
42 return nil, errors.New("unable to parse token")
43}
44
45// NewJWT generates and returns new HS256 signed JWT.
46func NewJWT(payload jwt.MapClaims, signingKey string, duration time.Duration) (string, error) {

Callers 4

TestParseJWTFunction · 0.92
TestNewJWTFunction · 0.92
FindAuthRecordByTokenMethod · 0.92
BindSecurityFunction · 0.92

Calls 1

ParseMethod · 0.80

Tested by 2

TestParseJWTFunction · 0.74
TestNewJWTFunction · 0.74

Used in the wild real call sites across dependent graphs

searching dependent graphs…