code refactor, added middleware,
This commit is contained in:
24
middleware/protected.go
Normal file
24
middleware/protected.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
jwtware "github.com/gofiber/contrib/jwt"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"os"
|
||||
)
|
||||
|
||||
func Protected() fiber.Handler {
|
||||
return jwtware.New(jwtware.Config{
|
||||
SigningKey: jwtware.SigningKey{Key: []byte(os.Getenv("JWT_SECRET"))},
|
||||
ErrorHandler: jwtError,
|
||||
TokenLookup: "cookie:token",
|
||||
})
|
||||
}
|
||||
|
||||
func jwtError(c *fiber.Ctx, err error) error {
|
||||
if err.Error() == "Missing or malformed JWT" {
|
||||
return c.Status(fiber.StatusBadRequest).
|
||||
JSON(fiber.Map{"error": "Missing or malformed token"})
|
||||
}
|
||||
return c.Status(fiber.StatusUnauthorized).
|
||||
JSON(fiber.Map{"error": "Invalid or expired token"})
|
||||
}
|
||||
Reference in New Issue
Block a user