package utils import ( "app/models" "fmt" "os" "strconv" "github.com/golang-jwt/jwt/v5" "github.com/joho/godotenv" ) func ParseToken(tokenString string) (string, error) { err := godotenv.Load("./config/.env") if err != nil { return "", err } secret := os.Getenv("SECRET") claims := new(models.JwtClaims) token, err := jwt.ParseWithClaims(tokenString, claims, func(token *jwt.Token) (interface{}, error) { // Provide the same key used for signing the token return []byte(secret), nil }) if err != nil { // Handle error, failed to parse the token return "", err } if !token.Valid { // Handle invalid token return "", fmt.Errorf("invalid token") } fmt.Println(claims) return strconv.FormatUint(uint64(claims.Jwt_id), 10), nil }