package api import ( "backend/model" "fmt" "os" "time" "github.com/gofiber/fiber/v2" "github.com/golang-jwt/jwt" ) func Login(c *fiber.Ctx) error { var requestdata model.AuthRequest err := c.BodyParser(&requestdata) if err != nil { return fmt.Errorf("Error parse body, %s", err) } if requestdata.Username != "tola" || requestdata.Password != "2808" { return c.SendStatus(fiber.StatusUnauthorized) } claims := jwt.MapClaims{ "username": "tola", "is_superuser": true, "exp": time.Now().Add(time.Hour * 72).Unix(), } token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) t, err := token.SignedString([]byte(os.Getenv("JWT_SECRET_KEY"))) if err != nil { return c.SendStatus(fiber.StatusInternalServerError) } return c.JSON(fiber.Map{"token": t}) }