Documentation
¶
Index ¶
- Constants
- Variables
- func CRUD(group *echo.Group, path string, resource interface{})
- func PASETO(key []byte) echo.MiddlewareFunc
- func PASETOWithConfig(config PASETOConfig) echo.MiddlewareFunc
- func Versioning(stable string, supported ...string) echo.MiddlewareFunc
- type CreateSupported
- type DeleteSupported
- type ListSupported
- type PASETOConfig
- type PASETOErrorHandler
- type PASETOErrorHandlerWithContext
- type PASETOSuccessHandler
- type ShowSupported
- type Token
- type UpdateSupported
Constants ¶
const ( // XApplicationVersion is the header for the asked API version (e.g. vnd.github.v1) XApplicationVersion = "X-Application-Version" // XApplicationStableVersion is the header for the stable API version (e.g. vnd.github.v3) XApplicationStableVersion = "X-Application-Stable-Version" )
Variables ¶
var ( ErrPASETOMissing = echo.NewHTTPError(http.StatusBadRequest, "missing or malformed paseto") ErrPASETOUnsupported = echo.NewHTTPError(http.StatusBadRequest, "unsupported paseto version/purpose") )
Errors
var ( // DefaultPASETOConfig is the default PASETO auth middleware config. DefaultPASETOConfig = PASETOConfig{ Skipper: middleware.DefaultSkipper, ContextKey: "paseto", TokenLookup: "header:" + echo.HeaderAuthorization, AuthScheme: "Bearer", Validators: []paseto.Validator{}, } )
Functions ¶
func CRUD ¶
CRUD defines the folowwing resources:
POST: /path GET: /path GET: /path/:id PATCH: /path/:id DEL: /path/:id
func PASETO ¶ added in v0.3.0
func PASETO(key []byte) echo.MiddlewareFunc
PASETO returns a JSON Platform-Agnostic SEcurity TOkens (PASETO) auth middleware.
For valid token, it sets the user in context and calls next handler. For invalid token, it returns "401 - Unauthorized" error. For missing token, it returns "400 - Bad Request" error.
func PASETOWithConfig ¶ added in v0.3.0
func PASETOWithConfig(config PASETOConfig) echo.MiddlewareFunc
PASETOWithConfig returns a PASETO auth middleware with config.
func Versioning ¶
func Versioning(stable string, supported ...string) echo.MiddlewareFunc
Versioning rewrites routes to match the last part of the version header. e.g. `X-Application-Version: vnd.github.v3' header will prefix the request's path by `/v3'. The stable API version will be returned in the response's headers.
Types ¶
type CreateSupported ¶
CreateSupported interface
type DeleteSupported ¶
DeleteSupported interface
type ListSupported ¶
ListSupported interface
type PASETOConfig ¶ added in v0.3.0
type PASETOConfig struct {
// Skipper defines a function to skip middleware.
Skipper middleware.Skipper
// BeforeFunc defines a function which is executed just before the middleware.
BeforeFunc middleware.BeforeFunc
// SuccessHandler defines a function which is executed for a valid token.
SuccessHandler PASETOSuccessHandler
// ErrorHandler defines a function which is executed for an invalid token.
// It may be used to define a custom PASETO error.
ErrorHandler PASETOErrorHandler
// ErrorHandlerWithContext is almost identical to ErrorHandler, but it's passed the current context.
ErrorHandlerWithContext PASETOErrorHandlerWithContext
// Signing key to validate token.
// Required.
SigningKey []byte
// Validators is the list of custom validators.
// Time validation is enforced.
Validators []paseto.Validator
// Context key to store user information from the token into context.
// Optional. Default value "user".
ContextKey string
// TokenLookup is a string in the form of "<source>:<name>" that is used
// to extract token from the request.
// Optional. Default value "header:Authorization".
// Possible values:
// - "header:<name>"
// - "query:<name>"
// - "param:<name>"
// - "cookie:<name>"
TokenLookup string
// AuthScheme to be used in the Authorization header.
// Optional. Default value "Bearer".
AuthScheme string
}
PASETOConfig defines the config for PASETO middleware.
type PASETOErrorHandler ¶ added in v0.3.0
PASETOErrorHandler defines a function which is executed for an invalid token.
type PASETOErrorHandlerWithContext ¶ added in v0.3.0
PASETOErrorHandlerWithContext is almost identical to PASETOErrorHandler, but it's passed the current context.
type PASETOSuccessHandler ¶ added in v0.3.0
PASETOSuccessHandler defines a function which is executed for a valid token.
type ShowSupported ¶
ShowSupported interface
type UpdateSupported ¶
UpdateSupported interface