Documentation
¶
Index ¶
- func ApplyDestAuth(req *http.Request, cfg *config.HTTPAuthConfig)
- func BuildTLSConfig(cfg *config.TLSConfig) (*tls.Config, error)
- func BuildTLSConfigFromMap(cfg *config.TLSMapConfig) (*tls.Config, error)
- func DialTLS(dialer *net.Dialer, network, addr string, cfg *tls.Config) (net.Conn, error)
- func FetchOAuth2ClientCredentials(tokenURL, clientID, clientSecret string, scopes []string) (string, error)
- func NewLDAPAuthMiddleware(provider *LDAPProvider) func(http.Handler) http.Handler
- func NewOIDCAuthMiddleware(provider *OIDCProvider, disableLoginPage bool) func(http.Handler) http.Handler
- type APIKeyAuth
- type AWSSecretsProvider
- type AuditEntry
- type AuditLogger
- type AuditQueryOpts
- type AuditStore
- type Authenticator
- type BasicAuth
- type BearerAuth
- type EnvSecretsProvider
- type GCPSecretsProvider
- type LDAPProvider
- type MTLSAuth
- type MemoryAuditStore
- type NoopAuth
- type OIDCProvider
- func (op *OIDCProvider) Authenticate(r *http.Request) (bool, string, error)
- func (op *OIDCProvider) GetUserInfo(r *http.Request) (map[string]any, error)
- func (op *OIDCProvider) HandleCallback(w http.ResponseWriter, r *http.Request)
- func (op *OIDCProvider) HandleLogin(w http.ResponseWriter, r *http.Request)
- func (op *OIDCProvider) HandleLogout(w http.ResponseWriter, r *http.Request)
- type PostgresAuditStore
- type RBACManager
- type Role
- type SecretsProvider
- type Session
- type SessionStore
- type VaultSecretsProviderReal
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyDestAuth ¶
func ApplyDestAuth(req *http.Request, cfg *config.HTTPAuthConfig)
func BuildTLSConfigFromMap ¶
func BuildTLSConfigFromMap(cfg *config.TLSMapConfig) (*tls.Config, error)
func FetchOAuth2ClientCredentials ¶
func FetchOAuth2ClientCredentials(tokenURL, clientID, clientSecret string, scopes []string) (string, error)
FetchOAuth2ClientCredentials obtains an access token from the token endpoint using the client_credentials grant type.
func NewLDAPAuthMiddleware ¶
func NewLDAPAuthMiddleware(provider *LDAPProvider) func(http.Handler) http.Handler
func NewOIDCAuthMiddleware ¶
Types ¶
type APIKeyAuth ¶
func (*APIKeyAuth) Authenticate ¶
type AWSSecretsProvider ¶
type AWSSecretsProvider struct {
// contains filtered or unexported fields
}
func NewAWSSecretsProvider ¶
func NewAWSSecretsProvider(cfg *config.AWSSecretsManagerConfig) (*AWSSecretsProvider, error)
type AuditEntry ¶
type AuditLogger ¶
type AuditLogger struct {
// contains filtered or unexported fields
}
func NewAuditLogger ¶
func NewAuditLogger(cfg *config.AuditConfig, logger *slog.Logger) *AuditLogger
func (*AuditLogger) Close ¶
func (al *AuditLogger) Close() error
func (*AuditLogger) GetEntries ¶
func (al *AuditLogger) GetEntries(limit int) []AuditEntry
func (*AuditLogger) SetStore ¶
func (al *AuditLogger) SetStore(store AuditStore)
type AuditQueryOpts ¶
type AuditStore ¶
type AuditStore interface {
Save(entry *AuditEntry) error
Query(opts AuditQueryOpts) ([]AuditEntry, error)
Close() error
}
type Authenticator ¶
func NewAuthenticator ¶
func NewAuthenticator(cfg *config.AuthConfig) (Authenticator, error)
type EnvSecretsProvider ¶
type EnvSecretsProvider struct{}
type GCPSecretsProvider ¶
type GCPSecretsProvider struct {
// contains filtered or unexported fields
}
func NewGCPSecretsProvider ¶
func NewGCPSecretsProvider(cfg *config.GCPSecretManagerConfig) (*GCPSecretsProvider, error)
type LDAPProvider ¶
type LDAPProvider struct {
// contains filtered or unexported fields
}
func NewLDAPProvider ¶
func NewLDAPProvider(cfg *config.LDAPConfig, rbac *RBACManager, logger *slog.Logger) *LDAPProvider
func (*LDAPProvider) Authenticate ¶
func (*LDAPProvider) GetUserGroups ¶
func (lp *LDAPProvider) GetUserGroups(username string) ([]string, error)
func (*LDAPProvider) GetUserRole ¶
func (lp *LDAPProvider) GetUserRole(username string) (string, error)
type MemoryAuditStore ¶
type MemoryAuditStore struct {
// contains filtered or unexported fields
}
func NewMemoryAuditStore ¶
func NewMemoryAuditStore() *MemoryAuditStore
func (*MemoryAuditStore) Close ¶
func (m *MemoryAuditStore) Close() error
func (*MemoryAuditStore) Query ¶
func (m *MemoryAuditStore) Query(opts AuditQueryOpts) ([]AuditEntry, error)
func (*MemoryAuditStore) Save ¶
func (m *MemoryAuditStore) Save(entry *AuditEntry) error
type OIDCProvider ¶
type OIDCProvider struct {
// contains filtered or unexported fields
}
func NewOIDCProvider ¶
func NewOIDCProvider(cfg *config.OIDCConfig, rbac *RBACManager, logger *slog.Logger) (*OIDCProvider, error)
func (*OIDCProvider) Authenticate ¶
func (*OIDCProvider) GetUserInfo ¶
func (*OIDCProvider) HandleCallback ¶
func (op *OIDCProvider) HandleCallback(w http.ResponseWriter, r *http.Request)
func (*OIDCProvider) HandleLogin ¶
func (op *OIDCProvider) HandleLogin(w http.ResponseWriter, r *http.Request)
func (*OIDCProvider) HandleLogout ¶
func (op *OIDCProvider) HandleLogout(w http.ResponseWriter, r *http.Request)
type PostgresAuditStore ¶
type PostgresAuditStore struct {
// contains filtered or unexported fields
}
func NewPostgresAuditStore ¶
func NewPostgresAuditStore(dsn, tablePrefix string) (*PostgresAuditStore, error)
func (*PostgresAuditStore) Close ¶
func (p *PostgresAuditStore) Close() error
func (*PostgresAuditStore) Query ¶
func (p *PostgresAuditStore) Query(opts AuditQueryOpts) ([]AuditEntry, error)
func (*PostgresAuditStore) Save ¶
func (p *PostgresAuditStore) Save(entry *AuditEntry) error
type RBACManager ¶
type RBACManager struct {
// contains filtered or unexported fields
}
func NewRBACManager ¶
func NewRBACManager(roles []config.RoleConfig) *RBACManager
func (*RBACManager) HasPermission ¶
func (rm *RBACManager) HasPermission(roleName, permission string) bool
func (*RBACManager) ListRoles ¶
func (rm *RBACManager) ListRoles() []string
type SecretsProvider ¶
func NewSecretsProvider ¶
func NewSecretsProvider(cfg *config.SecretsConfig) (SecretsProvider, error)
type SessionStore ¶
type SessionStore struct {
// contains filtered or unexported fields
}
func NewSessionStore ¶
func NewSessionStore() *SessionStore
func (*SessionStore) Cleanup ¶
func (ss *SessionStore) Cleanup()
func (*SessionStore) Delete ¶
func (ss *SessionStore) Delete(id string)
func (*SessionStore) Set ¶
func (ss *SessionStore) Set(id string, session *Session)
type VaultSecretsProviderReal ¶
type VaultSecretsProviderReal struct {
// contains filtered or unexported fields
}
func NewVaultSecretsProvider ¶
func NewVaultSecretsProvider(cfg *config.VaultConfig) (*VaultSecretsProviderReal, error)
Click to show internal directories.
Click to hide internal directories.