369 lines
9.0 KiB
SQL
369 lines
9.0 KiB
SQL
--
|
|
-- Tables for OIDC Server functionality, HSQL
|
|
--
|
|
|
|
CREATE TABLE IF NOT EXISTS access_token (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
token_value VARCHAR(4096),
|
|
expiration TIMESTAMP,
|
|
token_type VARCHAR(256),
|
|
refresh_token_id BIGINT,
|
|
client_id BIGINT,
|
|
auth_holder_id BIGINT,
|
|
id_token_id BIGINT,
|
|
approved_site_id BIGINT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS access_token_permissions (
|
|
access_token_id BIGINT NOT NULL,
|
|
permission_id BIGINT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS address (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
formatted VARCHAR(256),
|
|
street_address VARCHAR(256),
|
|
locality VARCHAR(256),
|
|
region VARCHAR(256),
|
|
postal_code VARCHAR(256),
|
|
country VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS approved_site (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
user_id VARCHAR(256),
|
|
client_id VARCHAR(256),
|
|
creation_date TIMESTAMP,
|
|
access_date TIMESTAMP,
|
|
timeout_date TIMESTAMP,
|
|
whitelisted_site_id BIGINT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS approved_site_scope (
|
|
owner_id BIGINT,
|
|
scope VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
user_auth_id BIGINT,
|
|
approved BOOLEAN,
|
|
redirect_uri VARCHAR(2048),
|
|
client_id VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder_authority (
|
|
owner_id BIGINT,
|
|
authority VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder_resource_id (
|
|
owner_id BIGINT,
|
|
resource_id VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder_response_type (
|
|
owner_id BIGINT,
|
|
response_type VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder_extension (
|
|
owner_id BIGINT,
|
|
extension VARCHAR(2048),
|
|
val VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder_scope (
|
|
owner_id BIGINT,
|
|
scope VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authentication_holder_request_parameter (
|
|
owner_id BIGINT,
|
|
param VARCHAR(2048),
|
|
val VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS saved_user_auth (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
name VARCHAR(1024),
|
|
authenticated BOOLEAN,
|
|
source_class VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS saved_user_auth_authority (
|
|
owner_id BIGINT,
|
|
authority VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_authority (
|
|
owner_id BIGINT,
|
|
authority VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS authorization_code (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
code VARCHAR(256),
|
|
auth_holder_id BIGINT,
|
|
expiration TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_grant_type (
|
|
owner_id BIGINT,
|
|
grant_type VARCHAR(2000)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_response_type (
|
|
owner_id BIGINT,
|
|
response_type VARCHAR(2000)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS blacklisted_site (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
uri VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_details (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
|
|
client_description VARCHAR(1024),
|
|
reuse_refresh_tokens BOOLEAN DEFAULT true NOT NULL,
|
|
dynamically_registered BOOLEAN DEFAULT false NOT NULL,
|
|
allow_introspection BOOLEAN DEFAULT false NOT NULL,
|
|
id_token_validity_seconds BIGINT DEFAULT 600 NOT NULL,
|
|
|
|
client_id VARCHAR(256),
|
|
client_secret VARCHAR(2048),
|
|
access_token_validity_seconds BIGINT,
|
|
refresh_token_validity_seconds BIGINT,
|
|
|
|
application_type VARCHAR(256),
|
|
client_name VARCHAR(256),
|
|
token_endpoint_auth_method VARCHAR(256),
|
|
subject_type VARCHAR(256),
|
|
|
|
logo_uri VARCHAR(2048),
|
|
policy_uri VARCHAR(2048),
|
|
client_uri VARCHAR(2048),
|
|
tos_uri VARCHAR(2048),
|
|
|
|
jwks_uri VARCHAR(2048),
|
|
jwks VARCHAR(8192),
|
|
sector_identifier_uri VARCHAR(2048),
|
|
|
|
request_object_signing_alg VARCHAR(256),
|
|
|
|
user_info_signed_response_alg VARCHAR(256),
|
|
user_info_encrypted_response_alg VARCHAR(256),
|
|
user_info_encrypted_response_enc VARCHAR(256),
|
|
|
|
id_token_signed_response_alg VARCHAR(256),
|
|
id_token_encrypted_response_alg VARCHAR(256),
|
|
id_token_encrypted_response_enc VARCHAR(256),
|
|
|
|
token_endpoint_auth_signing_alg VARCHAR(256),
|
|
|
|
default_max_age BIGINT,
|
|
require_auth_time BOOLEAN,
|
|
created_at TIMESTAMP,
|
|
initiate_login_uri VARCHAR(2048),
|
|
clear_access_tokens_on_refresh BOOLEAN DEFAULT true NOT NULL,
|
|
|
|
software_statement VARCHAR(4096),
|
|
|
|
code_challenge_method VARCHAR(256),
|
|
|
|
UNIQUE (client_id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_request_uri (
|
|
owner_id BIGINT,
|
|
request_uri VARCHAR(2000)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_post_logout_redirect_uri (
|
|
owner_id BIGINT,
|
|
post_logout_redirect_uri VARCHAR(2000)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_default_acr_value (
|
|
owner_id BIGINT,
|
|
default_acr_value VARCHAR(2000)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_contact (
|
|
owner_id BIGINT,
|
|
contact VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_redirect_uri (
|
|
owner_id BIGINT,
|
|
redirect_uri VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_claims_redirect_uri (
|
|
owner_id BIGINT,
|
|
redirect_uri VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS refresh_token (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
token_value VARCHAR(4096),
|
|
expiration TIMESTAMP,
|
|
auth_holder_id BIGINT,
|
|
client_id BIGINT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_resource (
|
|
owner_id BIGINT,
|
|
resource_id VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS client_scope (
|
|
owner_id BIGINT,
|
|
scope VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS token_scope (
|
|
owner_id BIGINT,
|
|
scope VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS system_scope (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
scope VARCHAR(256) NOT NULL,
|
|
description VARCHAR(4096),
|
|
icon VARCHAR(256),
|
|
restricted BOOLEAN DEFAULT false NOT NULL,
|
|
default_scope BOOLEAN DEFAULT false NOT NULL,
|
|
structured BOOLEAN DEFAULT false NOT NULL,
|
|
structured_param_description VARCHAR(256),
|
|
UNIQUE (scope)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS user_info (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
sub VARCHAR(256),
|
|
preferred_username VARCHAR(256),
|
|
name VARCHAR(256),
|
|
given_name VARCHAR(256),
|
|
family_name VARCHAR(256),
|
|
middle_name VARCHAR(256),
|
|
nickname VARCHAR(256),
|
|
profile VARCHAR(256),
|
|
picture VARCHAR(256),
|
|
website VARCHAR(256),
|
|
email VARCHAR(256),
|
|
email_verified BOOLEAN,
|
|
gender VARCHAR(256),
|
|
zone_info VARCHAR(256),
|
|
locale VARCHAR(256),
|
|
phone_number VARCHAR(256),
|
|
phone_number_verified BOOLEAN,
|
|
address_id VARCHAR(256),
|
|
updated_time VARCHAR(256),
|
|
birthdate VARCHAR(256),
|
|
src VARCHAR(4096)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS whitelisted_site (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
creator_user_id VARCHAR(256),
|
|
client_id VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS whitelisted_site_scope (
|
|
owner_id BIGINT,
|
|
scope VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS pairwise_identifier (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
identifier VARCHAR(256),
|
|
sub VARCHAR(256),
|
|
sector_identifier VARCHAR(2048)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS resource_set (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
name VARCHAR(1024) NOT NULL,
|
|
uri VARCHAR(1024),
|
|
icon_uri VARCHAR(1024),
|
|
rs_type VARCHAR(256),
|
|
owner VARCHAR(256) NOT NULL,
|
|
client_id VARCHAR(256)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS resource_set_scope (
|
|
owner_id BIGINT NOT NULL,
|
|
scope VARCHAR(256) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS permission_ticket (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
ticket VARCHAR(256) NOT NULL,
|
|
permission_id BIGINT NOT NULL,
|
|
expiration TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS permission (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
resource_set_id BIGINT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS permission_scope (
|
|
owner_id BIGINT NOT NULL,
|
|
scope VARCHAR(256) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS claim (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
name VARCHAR(256),
|
|
friendly_name VARCHAR(1024),
|
|
claim_type VARCHAR(1024),
|
|
claim_value VARCHAR(1024)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS claim_to_policy (
|
|
policy_id BIGINT NOT NULL,
|
|
claim_id BIGINT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS claim_to_permission_ticket (
|
|
permission_ticket_id BIGINT NOT NULL,
|
|
claim_id BIGINT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS policy (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
name VARCHAR(1024),
|
|
resource_set_id BIGINT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS policy_scope (
|
|
owner_id BIGINT NOT NULL,
|
|
scope VARCHAR(256) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS claim_token_format (
|
|
owner_id BIGINT NOT NULL,
|
|
claim_token_format VARCHAR(1024)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS claim_issuer (
|
|
owner_id BIGINT NOT NULL,
|
|
issuer VARCHAR(1024)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS saved_registered_client (
|
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
|
issuer VARCHAR(1024),
|
|
registered_client VARCHAR(8192)
|
|
);
|
|
|
|
|
|
CREATE INDEX at_tv_idx ON access_token(token_value);
|
|
CREATE INDEX ts_oi_idx ON token_scope(owner_id);
|
|
CREATE INDEX at_exp_idx ON access_token(expiration);
|
|
CREATE INDEX rf_ahi_idx ON refresh_token(auth_holder_id);
|
|
CREATE INDEX cd_ci_idx ON client_details(client_id); |