1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-21 19:32:58 +00:00

🔧 fix(middleware/csrf): unmatched token returns nil error (#1667)

* Update csrf.go

* Update csrf_test.go

* fix(middleware/csrf): missing token return and unit test

* Update csrf_test.go
This commit is contained in:
Jason McNeil 2021-12-28 21:13:20 -04:00 committed by GitHub
parent f04ddd41ff
commit 59e4bf6cc5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -1,11 +1,16 @@
package csrf
import (
"errors"
"time"
"github.com/gofiber/fiber/v2"
)
var (
errTokenNotFound = errors.New("csrf token not found")
)
// New creates a new middleware handler
func New(config ...Config) fiber.Handler {
// Set default config
@ -51,7 +56,7 @@ func New(config ...Config) fiber.Handler {
HTTPOnly: cfg.CookieHTTPOnly,
SameSite: cfg.CookieSameSite,
})
return cfg.ErrorHandler(c, err)
return cfg.ErrorHandler(c, errTokenNotFound)
}
}

View File

@ -240,6 +240,7 @@ func Test_CSRF_ErrorHandler_InvalidToken(t *testing.T) {
app := fiber.New()
errHandler := func(ctx *fiber.Ctx, err error) error {
utils.AssertEqual(t, errTokenNotFound, err)
return ctx.Status(419).Send([]byte("invalid CSRF token"))
}
@ -270,6 +271,7 @@ func Test_CSRF_ErrorHandler_EmptyToken(t *testing.T) {
app := fiber.New()
errHandler := func(ctx *fiber.Ctx, err error) error {
utils.AssertEqual(t, errMissingHeader, err)
return ctx.Status(419).Send([]byte("empty CSRF token"))
}