Documentation
¶
Index ¶
- func HeaderHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func IsAuth(ct context.Context) bool
- func JwtHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func RailsCookieHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func RailsHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func RailsMemcacheHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func RailsRedisHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func SimpleHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func WithAuth(next http.Handler, ac *Auth) (http.Handler, error)
- type Auth
- type JWTConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HeaderHandler ¶
func JwtHandler ¶
func RailsCookieHandler ¶
func RailsHandler ¶
func RailsMemcacheHandler ¶
func RailsRedisHandler ¶
func SimpleHandler ¶
Types ¶
type Auth ¶
type Auth struct {
// Name is a friendly name for this auth config
Name string
// Type can be rails, jwt or header
Type string
// Cookie is the name of the cookie used
Cookie string
// CredsInHeader is used in dev only to allow for credentials
// in header values. Example: The X-User-ID HTTP header can be used to
// set the user id.
CredsInHeader bool `mapstructure:"creds_in_header"`
// SubsCredsInVars is used in dev only to allow for credentials
// in websocket variable. Example: The user_id websocket variable can be used to
// set the user id.
SubsCredsInVars bool `mapstructure:"subs_creds_in_vars"`
// Rails cookie authentication
Rails struct {
// Rails version is needed to decode the cookie correctly.
// Can be 5.2 or 6
Version string
// SecretKeyBase is the cookie encryption key used in your Rails config
SecretKeyBase string `mapstructure:"secret_key_base"`
// URL is used for Rails cookie store based auth.
// Example: redis://redis-host:6379 or memcache://memcache-host
URL string
// Password is set if needed by Redis or Memcache
Password string
// MaxIdle maximum idle time for the connection
MaxIdle int `mapstructure:"max_idle"`
// MaxActive maximum active time for the connection
MaxActive int `mapstructure:"max_active"`
// Salt value is from your Rails 5.2 and below auth config
Salt string
// SignSalt value is from your Rails 5.2 and below auth config
SignSalt string `mapstructure:"sign_salt"`
// AuthSalt value is from your Rails 5.2 and below auth config
AuthSalt string `mapstructure:"auth_salt"`
}
// JWT authentication
JWT JWTConfig
// Header authentication
Header struct {
// Name of the HTTP header
Name string
// Value if set must match expected value (optional)
Value string
// Exists if set to true then the header must exist
// this is an alternative to using value
Exists bool
}
}
Auth struct contains authentication related config values used by the GraphJin service
Click to show internal directories.
Click to hide internal directories.