package middleware import ( "brunel/auth" "strings" "github.com/gofiber/fiber/v2" ) func NewAuth() fiber.Handler { return func(c *fiber.Ctx) error { tokenPlusUsername := c.Cookies("pt") if tokenPlusUsername == "" { return c.Status(fiber.StatusUnauthorized).SendString("Unauthorized") } split := strings.Split(tokenPlusUsername, ":") token := split[0] username := split[1] ok, suser := auth.CheckSessionToken(token) if !ok { return c.Status(fiber.StatusUnauthorized).SendString("Unauthorized") } if suser != username { return c.Status(fiber.StatusUnauthorized).SendString("Unauthorized") } return c.Next() } }