我使用了 golang jwt 中间件。
e.Use(middleware.JWTWithConfig(middleware.JWTConfig{
SigningKey: []byte(os.Getenv("Signing_Key")),
TokenLookup: "header:x-auth-token",
}))
它等待所有功能的令牌,但我不想将此中间件用于登录功能。如何防止这种情况?
有一个skipper
功能。您可以使用它来检查要跳过的路线。
JWTConfig struct {
// Skipper defines a function to skip middleware.
Skipper Skipper
...
}
检查一个例子:
e.Use(middleware.JWTWithConfig(middleware.JWTConfig{
SigningKey: []byte(os.Getenv("Signing_Key")),
TokenLookup: "header:x-auth-token",
Skipper: func(c echo.Context) bool {
// Skip middleware if path is equal 'login'
if c.Request().URL.Path == "/login" {
return true
}
return false
},
}))