sidoxy/token.go

30 lines
626 B
Go
Raw Normal View History

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)
}
}