Documentation ¶
Index ¶
Constants ¶
View Source
const ( // CSRFTokenNotFound defines the error for a Token not found CSRFTokenNotFound = "CSRF Token not found" // DefaultTokenLookup defines `X-CSRF-TOKEN` as the default token lookup DefaultTokenLookup = "X-CSRF-TOKEN" // InvalidCSRFToken defines the error for an invalid CSRF token InvalidCSRFToken = "Invalid token" )
Variables ¶
View Source
var ( // DefaultCSRFConfig is the default CSRF middleware config. DefaultCSRFConfig = CSRFConfig{ TokenLength: 32, TokenLookup: "header:" + DefaultTokenLookup, ContextKey: "csrf", CookieName: "_csrf", CookieMaxAge: 86400, } )
Functions ¶
func CSRF ¶
CSRF returns a Cross-Site Request Forgery (CSRF) middleware. See: https://en.wikipedia.org/wiki/Cross-site_request_forgery
func CSRFWithConfig ¶
func CSRFWithConfig(config CSRFConfig) func(next http.Handler) http.Handler
CSRFWithConfig returns a CSRF middleware with config. See `CSRF(fasthttp.RequestHandler)`.
Types ¶
type CSRFConfig ¶
type CSRFConfig struct { TokenLength uint8 `yaml:"token_length"` // TokenLookup is a string in the form of "<source>:<key>" that is used // to extract token from the request. // Optional. Default value "header:X-CSRF-Token". // Possible values: // - "header:<name>" // - "form:<name>" // - "query:<name>" TokenLookup string `yaml:"token_lookup"` // Context key to store generated CSRF token into context. // Optional. Default value "csrf". ContextKey string `yaml:"context_key"` // Name of the CSRF cookie. This cookie will store CSRF token. // Optional. Default value "csrf". CookieName string `yaml:"cookie_name"` // Domain of the CSRF cookie. // Optional. Default value none. CookieDomain string `yaml:"cookie_domain"` // Path of the CSRF cookie. // Optional. Default value none. CookiePath string `yaml:"cookie_path"` // Max age (in seconds) of the CSRF cookie. // Optional. Default value 86400 (24hr). CookieMaxAge int `yaml:"cookie_max_age"` // Indicates if CSRF cookie is secure. // Optional. Default value false. CookieSecure bool `yaml:"cookie_secure"` // Indicates if CSRF cookie is HTTP only. // Optional. Default value false. CookieHTTPOnly bool `yaml:"cookie_http_only"` }
CSRFConfig defines the config for CSRF middleware
Click to show internal directories.
Click to hide internal directories.