oauth2.1.sql

发布时间 2023-11-29 09:19:27作者: Airgity
-- ----------------------------
-- 1. 创建数据库
-- ----------------------------
CREATE DATABASE IF NOT EXISTS oauth2_server DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;

-- ----------------------------
-- 2. 创建表
-- ----------------------------
use oauth2_server;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- 2.1 oauth2_authorization 令牌发放记录表
-- ----------------------------
CREATE TABLE oauth2_authorization (
    id varchar(100) NOT NULL COMMENT '令牌ID',
    registered_client_id varchar(100) NOT NULL COMMENT '注册的客户端ID',
    principal_name varchar(200) NOT NULL COMMENT '主体名称',
    authorization_grant_type varchar(100) NOT NULL COMMENT '授权授予类型',
    authorized_scopes varchar(1000) DEFAULT NULL COMMENT '授权范围',
    attributes blob DEFAULT NULL COMMENT '属性',
    state varchar(500) DEFAULT NULL COMMENT '状态',
    authorization_code_value blob DEFAULT NULL COMMENT '授权码值',
    authorization_code_issued_at timestamp DEFAULT NULL COMMENT '授权码颁发时间',
    authorization_code_expires_at timestamp DEFAULT NULL COMMENT '授权码过期时间',
    authorization_code_metadata blob DEFAULT NULL COMMENT '授权码元数据',
    access_token_value blob DEFAULT NULL COMMENT '访问令牌值',
    access_token_issued_at timestamp DEFAULT NULL COMMENT '访问令牌颁发时间',
    access_token_expires_at timestamp DEFAULT NULL COMMENT '访问令牌过期时间',
    access_token_metadata blob DEFAULT NULL COMMENT '访问令牌元数据',
    access_token_type varchar(100) DEFAULT NULL COMMENT '访问令牌类型',
    access_token_scopes varchar(1000) DEFAULT NULL COMMENT '访问令牌范围',
    oidc_id_token_value blob DEFAULT NULL COMMENT 'OIDC ID 令牌值',
    oidc_id_token_issued_at timestamp DEFAULT NULL COMMENT 'OIDC ID 令牌颁发时间',
    oidc_id_token_expires_at timestamp DEFAULT NULL COMMENT 'OIDC ID 令牌过期时间',
    oidc_id_token_metadata blob DEFAULT NULL COMMENT 'OIDC ID 令牌元数据',
    refresh_token_value blob DEFAULT NULL COMMENT '刷新令牌值',
    refresh_token_issued_at timestamp DEFAULT NULL COMMENT '刷新令牌颁发时间',
    refresh_token_expires_at timestamp DEFAULT NULL COMMENT '刷新令牌过期时间',
    refresh_token_metadata blob DEFAULT NULL COMMENT '刷新令牌元数据',
    user_code_value blob DEFAULT NULL COMMENT '用户代码值',
    user_code_issued_at timestamp DEFAULT NULL COMMENT '用户代码颁发时间',
    user_code_expires_at timestamp DEFAULT NULL COMMENT '用户代码过期时间',
    user_code_metadata blob DEFAULT NULL COMMENT '用户代码元数据',
    device_code_value blob DEFAULT NULL COMMENT '设备代码值',
    device_code_issued_at timestamp DEFAULT NULL COMMENT '设备代码颁发时间',
    device_code_expires_at timestamp DEFAULT NULL COMMENT '设备代码过期时间',
    device_code_metadata blob DEFAULT NULL COMMENT '设备代码元数据',
    PRIMARY KEY (id)
);

-- ----------------------------
-- 2.2 oauth2_authorization_consent 授权记录表
-- ----------------------------
CREATE TABLE oauth2_authorization_consent (
    registered_client_id varchar(100) NOT NULL COMMENT '注册的客户端ID',
    principal_name varchar(200) NOT NULL COMMENT '主体名称',
    authorities varchar(1000) NOT NULL COMMENT '授权',
    PRIMARY KEY (registered_client_id, principal_name)
);

-- ----------------------------
-- 2.3 oauth2-registered-client OAuth2 客户端信息表
-- ----------------------------
CREATE TABLE oauth2_registered_client (
    id varchar(100) NOT NULL COMMENT '客户端ID',
    client_id varchar(100) NOT NULL COMMENT '客户端ID',
    client_id_issued_at timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '客户端ID颁发时间',
    client_secret varchar(200) DEFAULT NULL COMMENT '客户端密钥',
    client_secret_expires_at timestamp DEFAULT NULL COMMENT '客户端密钥过期时间',
    client_name varchar(200) NOT NULL COMMENT '客户端名称',
    client_authentication_methods varchar(1000) NOT NULL COMMENT '客户端认证方法',
    authorization_grant_types varchar(1000) NOT NULL COMMENT '授权授予类型',
    redirect_uris varchar(1000) DEFAULT NULL COMMENT '重定向URI',
    post_logout_redirect_uris varchar(1000) DEFAULT NULL COMMENT '注销后重定向URI',
    scopes varchar(1000) NOT NULL COMMENT '授权范围',
    client_settings varchar(2000) NOT NULL COMMENT '客户端设置',
    token_settings varchar(2000) NOT NULL COMMENT '令牌设置',
    PRIMARY KEY (id)
);