diff --git a/backend/internal/middleware/auth_middleware.go b/backend/internal/middleware/auth_middleware.go index a5fbeb07..b201c9a5 100644 --- a/backend/internal/middleware/auth_middleware.go +++ b/backend/internal/middleware/auth_middleware.go @@ -1,7 +1,9 @@ package middleware import ( + "errors" "github.com/gin-gonic/gin" + "github.com/pocket-id/pocket-id/backend/internal/common" "github.com/pocket-id/pocket-id/backend/internal/service" ) @@ -69,6 +71,13 @@ func (m *AuthMiddleware) Add() gin.HandlerFunc { return } + // If JWT auth failed and the error is not a NotSignedInError, abort the request + if !errors.Is(err, &common.NotSignedInError{}) { + c.Abort() + _ = c.Error(err) + return + } + // JWT auth failed, try API key auth userID, isAdmin, err = m.apiKeyMiddleware.Verify(c, m.options.AdminRequired) if err == nil {