Documentation
¶
Overview ¶
Package oauthprovider provides OAuth2/OIDC authentication with support for Google, GitHub, and Okta as identity providers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin implements OAuth2/OIDC authentication with Google, GitHub, and Okta.
func (*Plugin) Info ¶
func (p *Plugin) Info() plugin.PluginInfo
Info returns plugin metadata for discovery and documentation.
func (*Plugin) Init ¶
Init initializes the plugin with the given environment. No config is parsed since OAuth provider settings are stored in the oauth_config table.
func (*Plugin) Middleware ¶
Middleware validates the OAuth session token from the Authorization header and injects session info into the request context. It skips /oauth/ and /healthz paths.
func (*Plugin) Migrations ¶
Migrations returns the database schema for OAuth configuration and sessions. Tables are idempotent (IF NOT EXISTS) and safe to run multiple times.
type SessionInfo ¶
SessionInfo holds user identity extracted from an OAuth session.
func SessionFromContext ¶
func SessionFromContext(ctx context.Context) (*SessionInfo, bool)
SessionFromContext extracts the OAuth session info from the request context.