-- ==========================================
-- Chat Switchboard — 017 Auth Providers
-- ==========================================
-- OIDC authorization state tracking (ephemeral).
-- Consolidated v0.28.0: renumbered from 019. groups.source moved to 002.
-- ==========================================

CREATE TABLE IF NOT EXISTS oidc_auth_state (
    state       TEXT PRIMARY KEY,
    nonce       TEXT NOT NULL,
    redirect_to TEXT,
    created_at  TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS idx_oidc_state_created
    ON oidc_auth_state(created_at);

COMMENT ON TABLE oidc_auth_state IS 'Ephemeral OIDC authorization code flow state. Rows deleted after callback.';
