diff options
Diffstat (limited to 'vendor/github.com/labstack/echo/v4/middleware/jwt.go')
-rw-r--r-- | vendor/github.com/labstack/echo/v4/middleware/jwt.go | 13 |
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", |