002_oidc.sql (1628B)
1 ALTER TABLE oidc_clients ADD COLUMN branding TEXT NOT NULL DEFAULT '{}'; 2 ALTER TABLE oidc_clients ADD COLUMN client_secret_hash TEXT; 3 ALTER TABLE oidc_clients ADD COLUMN token_endpoint_auth_method TEXT NOT NULL DEFAULT 'none'; 4 ALTER TABLE oidc_clients ADD COLUMN require_pkce INTEGER NOT NULL DEFAULT 1; 5 ALTER TABLE oidc_clients ADD COLUMN post_logout_redirect_uris TEXT NOT NULL DEFAULT '[]'; 6 7 CREATE TABLE signing_keys ( 8 id TEXT PRIMARY KEY, 9 alg TEXT NOT NULL, 10 private_jwk TEXT NOT NULL, 11 public_jwk TEXT NOT NULL, 12 status TEXT NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'retired')), 13 created_at INTEGER NOT NULL, 14 retired_at INTEGER 15 ); 16 17 CREATE INDEX signing_keys_status ON signing_keys(status); 18 19 CREATE TABLE auth_requests ( 20 id TEXT PRIMARY KEY, 21 client_id TEXT NOT NULL, 22 redirect_uri TEXT NOT NULL, 23 scope TEXT NOT NULL, 24 state TEXT, 25 nonce TEXT, 26 code_challenge TEXT, 27 code_challenge_method TEXT, 28 session_id TEXT, 29 user_id TEXT, 30 auth_time INTEGER, 31 created_at INTEGER NOT NULL, 32 expires_at INTEGER NOT NULL, 33 completed_at INTEGER 34 ); 35 36 CREATE INDEX auth_requests_expires ON auth_requests(expires_at); 37 38 CREATE TABLE authorization_codes ( 39 id TEXT PRIMARY KEY, 40 auth_request_id TEXT NOT NULL UNIQUE, 41 client_id TEXT NOT NULL, 42 user_id TEXT NOT NULL, 43 redirect_uri TEXT NOT NULL, 44 scope TEXT NOT NULL, 45 nonce TEXT, 46 code_challenge TEXT, 47 code_challenge_method TEXT, 48 session_id TEXT, 49 auth_time INTEGER NOT NULL, 50 created_at INTEGER NOT NULL, 51 expires_at INTEGER NOT NULL, 52 consumed_at INTEGER 53 ); 54 55 CREATE INDEX authorization_codes_expires ON authorization_codes(expires_at);