owpengram-server/deploy/migrations/0018_passkey_credentials.up.sql

18 lines
908 B
SQL

-- Passkey(WebAuthn/FIDO2)凭据。每条 = 一个已注册的公钥。sign_count 用 bigint
-- 容纳 uint32;credential_id 为主键(原始字节,对外 base64url)。
CREATE TABLE public.passkey_credentials (
credential_id bytea NOT NULL,
user_id bigint NOT NULL,
public_key bytea NOT NULL,
sign_count bigint DEFAULT 0 NOT NULL,
aaguid bytea DEFAULT '\x'::bytea NOT NULL,
name character varying(128) DEFAULT ''::character varying NOT NULL,
transports text[] DEFAULT '{}'::text[] NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
last_used_at timestamp with time zone,
CONSTRAINT passkey_credentials_pkey PRIMARY KEY (credential_id),
CONSTRAINT passkey_credentials_user_id_fkey FOREIGN KEY (user_id)
REFERENCES public.users(id) ON DELETE CASCADE
);
CREATE INDEX passkey_credentials_user_id_idx ON public.passkey_credentials (user_id);