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 ¶
func CRUD(group *echo.Group, path string, resource interface{})
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 ¶
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 ¶
type CreateSupported interface {
Create(echo.Context) error
}
CreateSupported interface
type DeleteSupported ¶
type DeleteSupported interface {
Delete(echo.Context) error
}
DeleteSupported interface
type ListSupported ¶
type ListSupported interface {
List(echo.Context) error
}
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
type PASETOSuccessHandler func(echo.Context)
PASETOSuccessHandler defines a function which is executed for a valid token.
type ShowSupported ¶
type ShowSupported interface {
Show(echo.Context) error
}
ShowSupported interface
type Token ¶ added in v0.3.0
type Token struct { paseto.JSONToken }
Token represents a PASETO JSONToken with its footer.
type UpdateSupported ¶
type UpdateSupported interface {
Update(echo.Context) error
}
UpdateSupported interface