Documentation
¶
Index ¶
Constants ¶
View Source
const ( AuthModeLocal = "local" AuthModeHTTPAPI = "http_api" )
Authentication mode constants
View Source
const ( TokenProviderModeLocal = "local" TokenProviderModeHTTPAPI = "http_api" )
Token provider mode constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Server settings
ServerAddr string
BaseURL string
// JWT settings
JWTSecret string
JWTExpiration time.Duration
// Session settings
SessionSecret string
// Device code settings
DeviceCodeExpiration time.Duration
PollingInterval int // seconds
// Database
DatabaseDriver string // "sqlite" or "postgres"
DatabaseDSN string // Database connection string (DSN or path)
// Authentication
AuthMode string // "local" or "http_api"
// HTTP API Authentication
HTTPAPIURL string
HTTPAPITimeout time.Duration
HTTPAPIInsecureSkipVerify bool
HTTPAPIAuthMode string // Authentication mode: "none", "simple", or "hmac"
HTTPAPIAuthSecret string // Shared secret for authentication
HTTPAPIAuthHeader string // Custom header name for simple mode (default: "X-API-Secret")
HTTPAPIMaxRetries int // Maximum retry attempts (default: 3)
HTTPAPIRetryDelay time.Duration
HTTPAPIMaxRetryDelay time.Duration
// Token Provider
TokenProviderMode string // "local" or "http_api"
// HTTP API Token Provider
TokenAPIURL string
TokenAPITimeout time.Duration
TokenAPIInsecureSkipVerify bool
TokenAPIAuthMode string // Authentication mode: "none", "simple", or "hmac"
TokenAPIAuthSecret string // Shared secret for authentication
TokenAPIAuthHeader string // Custom header name for simple mode (default: "X-API-Secret")
TokenAPIMaxRetries int // Maximum retry attempts (default: 3)
TokenAPIRetryDelay time.Duration
TokenAPIMaxRetryDelay time.Duration
// Refresh Token settings
RefreshTokenExpiration time.Duration // Refresh token lifetime (default: 720h = 30 days)
EnableRefreshTokens bool // Feature flag to enable/disable refresh tokens (default: true)
EnableTokenRotation bool // Enable token rotation mode (default: false, fixed mode)
// OAuth settings
// GitHub OAuth
GitHubOAuthEnabled bool
GitHubClientID string
GitHubClientSecret string
GitHubOAuthRedirectURL string
GitHubOAuthScopes []string
// Gitea OAuth
GiteaOAuthEnabled bool
GiteaURL string
GiteaClientID string
GiteaClientSecret string
GiteaOAuthRedirectURL string
GiteaOAuthScopes []string
// OAuth Auto Registration
OAuthAutoRegister bool // Allow OAuth to auto-create accounts (default: true)
// OAuth HTTP Client Settings
OAuthTimeout time.Duration // HTTP client timeout for OAuth requests (default: 15s)
OAuthInsecureSkipVerify bool // Skip TLS verification for OAuth (dev/testing only, default: false)
}
Click to show internal directories.
Click to hide internal directories.