Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type DB ¶
type DB struct {
Host string `env:"POSTGRESQL_HOST,required"`
Port int `env:"POSTGRESQL_PORT,required"`
Username string `env:"POSTGRESQL_USERNAME,required"`
Password string `env:"POSTGRESQL_PASSWORD,required"`
Database string `env:"POSTGRESQL_DATABASE,required"`
Schema string `env:"POSTGRESQL_SCHEMA,default=authara"`
Timezone string `env:"POSTGRESQL_TIMEZONE,default=UTC"`
LogSQL bool `env:"POSTGRESQL_LOG_SQL,default=false"`
}
type RateLimit ¶
type RateLimit struct {
LoginIPLimit int `env:"AUTHARA_RATE_LIMIT_LOGIN_IP_LIMIT,default=5"`
LoginIPWindowRaw string `env:"AUTHARA_RATE_LIMIT_LOGIN_IP_WINDOW,default=1m"`
LoginEmailLimit int `env:"AUTHARA_RATE_LIMIT_LOGIN_EMAIL_LIMIT,default=10"`
LoginEmailWindowRaw string `env:"AUTHARA_RATE_LIMIT_LOGIN_EMAIL_WINDOW,default=1h"`
SignupIPLimit int `env:"AUTHARA_RATE_LIMIT_SIGNUP_IP_LIMIT,default=3"`
SignupIPWindowRaw string `env:"AUTHARA_RATE_LIMIT_SIGNUP_IP_WINDOW,default=1h"`
SignupEmailLimit int `env:"AUTHARA_RATE_LIMIT_SIGNUP_EMAIL_LIMIT,default=3"`
SignupEmailWindowRaw string `env:"AUTHARA_RATE_LIMIT_SIGNUP_EMAIL_WINDOW,default=24h"`
CleanupEvery int `env:"AUTHARA_RATE_LIMIT_CLEANUP_EVERY,default=200"`
MaxEntries int `env:"AUTHARA_RATE_LIMIT_MAX_ENTRIES,default=50000"`
LoginIPWindow time.Duration
LoginEmailWindow time.Duration
SignupIPWindow time.Duration
SignupEmailWindow time.Duration
}
type Session ¶
type Session struct {
SessionTTLDays int `env:"AUTHARA_SESSION_TTL_DAYS,default=60"`
RefreshTokenTTLDays int `env:"AUTHARA_REFRESH_TOKEN_TTL_DAYS,default=14"`
RefreshTokenRotationRaw string `env:"AUTHARA_REFRESH_TOKEN_ROTATION_INTERVAL,default=24h"`
SessionTTL time.Duration
RefreshTokenTTL time.Duration
RefreshTokenRotation time.Duration
}
type Token ¶
type Token struct {
Issuer string `env:"AUTHARA_JWT_ISSUER,required"`
ActiveKeyID string `env:"AUTHARA_JWT_ACTIVE_KEY_ID,required"`
Keys map[string]string `env:"AUTHARA_JWT_KEYS,required"`
AccessTokenTTLMinutes int `env:"AUTHARA_ACCESS_TOKEN_TTL_MINUTES,default=10"`
AccessTokenTTL time.Duration
KeySet *token.KeySet
}
Click to show internal directories.
Click to hide internal directories.