Documentation ¶
Index ¶
- func HeaderHandler(ac *Auth, next http.Handler) (handlerFunc, error)
- func IsAuth(ct context.Context) bool
- func JwtHandler(ac *Auth, next http.Handler) (handlerFunc, error)
- func RailsCookieHandler(ac *Auth, next http.Handler) (handlerFunc, error)
- func RailsHandler(ac *Auth, next http.Handler) (handlerFunc, error)
- func RailsMemcacheHandler(ac *Auth, next http.Handler) (handlerFunc, error)
- func RailsRedisHandler(ac *Auth, next http.Handler) (handlerFunc, error)
- func SimpleHandler(ac *Auth, next http.Handler) (http.HandlerFunc, error)
- func WithAuth(next http.Handler, ac *Auth, log *zap.Logger) (http.Handler, error)
- type Auth
- type JWTConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RailsMemcacheHandler ¶
func SimpleHandler ¶
Types ¶
type Auth ¶
type Auth struct { // Name is a friendly name for this auth config Name string // Type can be magiclink, rails, jwt or header Type string // Cookie is the name of the cookie used Cookie string // In certain cases like Magiclink the jwt cookie // is generated by us this helps set the secure parameter // of this cookie CookieHTTPS bool `mapstructure:"cookie_https"` // In certain cases like Magiclink the jwt cookie // is generated by us this helps set the expiry parameter // of this cookie (ex. "20m", "2h") CookieExpiry string `mapstructure:"cookie_expiry"` // 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 } // Magic.link authentication MagicLink struct { Secret string } }
Auth struct contains authentication related config values used by the GraphJin service
Click to show internal directories.
Click to hide internal directories.