Versions in this module Expand all Collapse all v0 v0.10.0 Sep 6, 2026 Changes in this version + const StateCookieMaxAge + const StateCookieName + func GenerateState() (string, error) + func GitHubConfig(cfg ProviderConfig) *oauth2.Config + func GoogleConfig(cfg ProviderConfig) *oauth2.Config + type CoreControlConfig struct + BaseURL string + func (c CoreControlConfig) AuthorizationURL() string + func (c CoreControlConfig) OAuth2Config() *oauth2.Config + func (c CoreControlConfig) TokenURL() string + func (c CoreControlConfig) UserInfoURL() string + type ProviderConfig struct + ClientID string + ClientSecret string + RedirectURL string + Scopes []string + func (c ProviderConfig) Enabled() bool + type StateManager struct + CookieName string + MaxAge int + SameSite http.SameSite + Secure bool + func NewStateManager() *StateManager + func NewStateManagerInsecure() *StateManager + func (m *StateManager) SetStateCookie(w http.ResponseWriter, state string) + func (m *StateManager) ValidateState(w http.ResponseWriter, r *http.Request, state string) bool + type User struct + AccessToken string + AvatarURL string + Email string + Name string + Provider string + ProviderID string + Raw map[string]any + RefreshToken string + TokenExpiry time.Time + Username string + func FetchCoreControlUser(ctx context.Context, cfg CoreControlConfig, accessToken string) (*User, error) + func FetchGitHubUser(ctx context.Context, cfg *oauth2.Config, code string) (*User, error) + func FetchGoogleUser(ctx context.Context, cfg *oauth2.Config, code string) (*User, error)