summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/labstack/echo/v4/middleware/jwt.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/labstack/echo/v4/middleware/jwt.go')
-rw-r--r--vendor/github.com/labstack/echo/v4/middleware/jwt.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/vendor/github.com/labstack/echo/v4/middleware/jwt.go b/vendor/github.com/labstack/echo/v4/middleware/jwt.go
index d4420246..55a98632 100644
--- a/vendor/github.com/labstack/echo/v4/middleware/jwt.go
+++ b/vendor/github.com/labstack/echo/v4/middleware/jwt.go
@@ -25,6 +25,9 @@ type (
// ErrorHandler defines a function which is executed for an invalid token.
// It may be used to define a custom JWT error.
ErrorHandler JWTErrorHandler
+
+ // ErrorHandlerWithContext is almost identical to ErrorHandler, but it's passed the current context.
+ ErrorHandlerWithContext JWTErrorHandlerWithContext
// Signing key to validate token. Used as fallback if SigningKeys has length 0.
// Required. This or SigningKeys.
@@ -69,6 +72,9 @@ type (
// JWTErrorHandler defines a function which is executed for an invalid token.
JWTErrorHandler func(error) error
+ // JWTErrorHandlerWithContext is almost identical to JWTErrorHandler, but it's passed the current context.
+ JWTErrorHandlerWithContext func(error, echo.Context) error
+
jwtExtractor func(echo.Context) (string, error)
)
@@ -177,6 +183,10 @@ func JWTWithConfig(config JWTConfig) echo.MiddlewareFunc {
if config.ErrorHandler != nil {
return config.ErrorHandler(err)
}
+
+ if config.ErrorHandlerWithContext != nil {
+ return config.ErrorHandlerWithContext(err, c)
+ }
return err
}
token := new(jwt.Token)
@@ -199,6 +209,9 @@ func JWTWithConfig(config JWTConfig) echo.MiddlewareFunc {
if config.ErrorHandler != nil {
return config.ErrorHandler(err)
}
+ if config.ErrorHandlerWithContext != nil {
+ return config.ErrorHandlerWithContext(err, c)
+ }
return &echo.HTTPError{
Code: http.StatusUnauthorized,
Message: "invalid or expired jwt",