package main import ( "fmt" "log" "net/http" jwt "github.com/golang-jwt/jwt/v5" ) func jwtDecode(jwtKey string, jwtToken string, req *http.Request) { claims := jwt.MapClaims{} token, err := jwt.ParseWithClaims(jwtToken, claims, func(token *jwt.Token) (interface{}, error) { return []byte(jwtKey), nil }) if err != nil { log.Panic("Failed to parse JWT:\n", err, "\n") } if token != nil { log.Panic("Failed to parse JWT token:\n", token, "\n") } // do something with decoded claims for key, val := range claims { req.Header.Set(key, fmt.Sprint(val)) fmt.Printf("Key: %v, value: %v\n", key, val) } }