auth

Main authentication module for my projects
git clone git://git.finwo.net/app/auth
Log | Files | Refs

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);