Documentation
¶
Index ¶
- Constants
- func Authorize(options Options) func(next http.Handler) http.Handler
- func DefaultUnauthorizedHandler() http.HandlerFunc
- func IsUnauthorized(ctx context.Context) bool
- func NewUnauthorizedContext(ctx context.Context) context.Context
- type AuthorizationHeader
- type Authorizer
- type DeprecationExpirationPolicy
- type EnvironmentSecretProvider
- func NewEnvironmentSecretProvider(s EnvironmentSecretProviderSettingNames) *EnvironmentSecretProvider
- func NewEnvironmentSecretProviderReadWrite(current, deprecated string) *EnvironmentSecretProvider
- func NewEnvironmentSecretProviderReadonly(readonly, deprecatedReadonly string) *EnvironmentSecretProvider
- type EnvironmentSecretProviderSettingNames
- type HeaderAuthProvider
- type Options
- type PermissionScope
- type SecretProvider
- type XApiKeyHeader
Constants ¶
View Source
const HeaderNameAuthorization = "Authorization"
View Source
const HeaderNameXApiKey = "X-Api-Key" // #nosec G101
View Source
const PermissionScopeReadWrite = PermissionScope("readwrite")
View Source
const PermissionScopeReadonly = PermissionScope("readonly")
Variables ¶
This section is empty.
Functions ¶
func Authorize ¶
Authorize implements a simple middleware handler for creating header-based authentication schemes.
func DefaultUnauthorizedHandler ¶
func DefaultUnauthorizedHandler() http.HandlerFunc
func IsUnauthorized ¶
Types ¶
type AuthorizationHeader ¶
type AuthorizationHeader struct {
HeaderAuthProvider
}
func (AuthorizationHeader) Name ¶
func (h AuthorizationHeader) Name() string
type Authorizer ¶
type Authorizer struct {
SecretProvider SecretProvider
DeprecationExpirationPolicy DeprecationExpirationPolicy
// contains filtered or unexported fields
}
func NewAuthorizer ¶
func NewAuthorizer(secretProvider SecretProvider, deprecationPolicy DeprecationExpirationPolicy, scope PermissionScope, httpMethodsOverride []string) Authorizer
func NewReadonlyAuthorizer ¶
func NewReadonlyAuthorizer(provider SecretProvider, httpMethods []string) Authorizer
func (Authorizer) IsValidRequest ¶
func (a Authorizer) IsValidRequest(r *http.Request, requestKey string) bool
type DeprecationExpirationPolicy ¶
type DeprecationExpirationPolicy struct {
// contains filtered or unexported fields
}
func NewDeprecationExpirationPolicyFromEnvironment ¶
func NewDeprecationExpirationPolicyFromEnvironment(variableName string) (DeprecationExpirationPolicy, error)
func NewDeprecationExpirationPolicyFromString ¶
func NewDeprecationExpirationPolicyFromString(datetime string) (DeprecationExpirationPolicy, error)
func (DeprecationExpirationPolicy) Allow ¶
func (p DeprecationExpirationPolicy) Allow() bool
type EnvironmentSecretProvider ¶
type EnvironmentSecretProvider struct {
SecretProvider
CurrentSecretHeaderName string
DeprecatedSecretHeaderName string
ReadonlySecretHeaderName string
DeprecatedReadonlySecretHeaderName string
// contains filtered or unexported fields
}
func NewEnvironmentSecretProvider ¶
func NewEnvironmentSecretProvider(s EnvironmentSecretProviderSettingNames) *EnvironmentSecretProvider
func NewEnvironmentSecretProviderReadWrite ¶
func NewEnvironmentSecretProviderReadWrite(current, deprecated string) *EnvironmentSecretProvider
func NewEnvironmentSecretProviderReadonly ¶
func NewEnvironmentSecretProviderReadonly(readonly, deprecatedReadonly string) *EnvironmentSecretProvider
func (EnvironmentSecretProvider) GetCurrentReadonlySecret ¶
func (p EnvironmentSecretProvider) GetCurrentReadonlySecret() string
func (EnvironmentSecretProvider) GetCurrentSecret ¶
func (p EnvironmentSecretProvider) GetCurrentSecret() string
func (EnvironmentSecretProvider) GetDeprecatedReadonlySecret ¶
func (p EnvironmentSecretProvider) GetDeprecatedReadonlySecret() string
func (EnvironmentSecretProvider) GetDeprecatedSecret ¶
func (p EnvironmentSecretProvider) GetDeprecatedSecret() string
type HeaderAuthProvider ¶
type Options ¶
type Options struct {
ReadOnly bool
FailureHandler http.HandlerFunc
SecretProvider SecretProvider
DeprecationExpirationPolicy DeprecationExpirationPolicy
HeaderAuthProvider HeaderAuthProvider
// AllowedHTTPMethodsOverride allows customization of accepted HTTP methods.
// A common use case is POST requests that actually perform read operations.
AllowedHTTPMethodsOverride []string
}
func NewOptions ¶
func NewOptions() Options
func NewReadonlyOptions ¶
func NewReadonlyOptions() Options
type PermissionScope ¶
type PermissionScope string
type SecretProvider ¶
type XApiKeyHeader ¶
type XApiKeyHeader struct {
HeaderAuthProvider
}
func (XApiKeyHeader) Name ¶
func (h XApiKeyHeader) Name() string
Click to show internal directories.
Click to hide internal directories.