Hi good afternoon golang dev's, I'm starting in golang blogs and I don't where to post this kind of questions,
Learning fiber framework and JWT Auth I'm getting in the register Func and Login Func the user Id is saving correctly on DB. The cookie and JWT are getting correctly and disply the cookie and preseve on the frontEnd, but when I want to get the login UserId on Controller I got 0 did some one know's what is happening? I leave the code hopping have some orientation. Jwt has been updated and I’m confuse. ``` // Midleware: const SecretKey = "secret" func IsAuthenticated(c *fiber.Ctx) error { cookie := c.Cookies("jwt") token, err := jwt.ParseWithClaims(cookie, &jwt.RegisteredClaims{}, func(token *jwt.Token) (interface{}, error) { return []byte(SecretKey), nil }) if err != nil || !token.Valid { c.Status(fiber.StatusUnauthorized) return c.JSON(fiber.Map{ "message": "unauthenticated", }) } return c.Next() } func GetUserId(c *fiber.Ctx) (uint, error) { cookie := c.Cookies("jwt") log.Println("Cookie .........: ", cookie) token, err := jwt.ParseWithClaims(cookie, &jwt.RegisteredClaims{}, func(token *jwt.Token) (interface{}, error) { return []byte(SecretKey), nil }) log.Println("Token .........: ", token) log.Println("Error .........: ", err) if err != nil { return 0, err } // var user dto.User // expireTime := time.Now().Add(24 * time.Hour) // payloads := jwt.RegisteredClaims{ // Subject: strconv.Itoa(int(user.Id)), // ExpiresAt: &jwt.NumericDate{Time: expireTime}, // } payload := token.Claims.(*jwt.RegisteredClaims) id, _ := strconv.Atoi(payload.Subject) return uint(id), nil } func GenerateJWT(id uint) (string, error) { expireTime := time.Now().Add(24 * time.Hour) var user dto.User token, err := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.RegisteredClaims{ Subject: strconv.Itoa(int(user.Id)), ExpiresAt: &jwt.NumericDate{Time: expireTime}, }).SignedString([]byte(SecretKey)) if err != nil { log.Println(err) } return token, err } //Controller: func User(c *fiber.Ctx) error { var user dto.User id, err := middlewares.GetUserId(c) log.Println(id) if err != nil { return err } confmysql.DB.Where("id = ?", id).First(&user) return c.JSON(user) } -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/f1497701-c22b-4126-86f1-60c708f22251n%40googlegroups.com.