diff --git a/utils/token/token.go b/utils/token/token.go index 079fdc0..8cb644f 100644 --- a/utils/token/token.go +++ b/utils/token/token.go @@ -24,6 +24,7 @@ func GenerateToken(user_id uint) (string, error) { claims["authorized"] = true claims["user_id"] = user_id claims["exp"] = time.Now().Add(time.Hour * time.Duration(token_lifespan)).Unix() + // https://pkg.go.dev/github.com/golang-jwt/jwt/v5#New token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) return token.SignedString([]byte(os.Getenv("API_SECRET"))) @@ -36,8 +37,8 @@ func TokenValid(c *gin.Context) error { if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok { return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"]) } - //return []byte(os.Getenv("API_SECRET")), nil - return []byte(""), nil + // This code says signature is invalid if we return an empty []byte but I don't know why + return []byte(os.Getenv("API_SECRET")), nil }) if err != nil { return err @@ -64,9 +65,8 @@ func ExtractTokenID(c *gin.Context) (uint, error) { if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok { return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"]) } - // Why return the secret?? - //return []byte(os.Getenv("API_SECRET")), nil - return 0, nil + // Why return the secret?? Code doesn't work if we don't return the secret + return []byte(os.Getenv("API_SECRET")), nil }) if err != nil { return 0, err