···11+-- OAuth client session storage (replaces in-memory MemoryAuthStore)
22+CREATE TABLE IF NOT EXISTS oauth_client_sessions (
33+ session_key VARCHAR NOT NULL PRIMARY KEY,
44+ did VARCHAR NOT NULL,
55+ session_id VARCHAR NOT NULL,
66+ data TEXT NOT NULL,
77+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
88+ updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
99+);
1010+1111+CREATE INDEX IF NOT EXISTS idx_oauth_client_sessions_did ON oauth_client_sessions(did);
1212+1313+-- OAuth authorization request storage (transient, keyed by state token)
1414+CREATE TABLE IF NOT EXISTS oauth_auth_requests (
1515+ state VARCHAR NOT NULL PRIMARY KEY,
1616+ data TEXT NOT NULL,
1717+ created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
1818+);