接口防重放
This commit is contained in:
@@ -234,6 +234,45 @@ CREATE TABLE IF NOT EXISTS tms_auth_audit_log (
|
||||
KEY idx_tms_auth_audit_log_role_code (role_code)
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 防重放与安全事件
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tms_replay_nonce (
|
||||
id BIGINT PRIMARY KEY,
|
||||
scope VARCHAR(32) NOT NULL COMMENT '防重放作用域:OPENAPI / INTERNAL_API',
|
||||
principal_id VARCHAR(128) NOT NULL COMMENT '主体标识:appId / sessionToken',
|
||||
nonce VARCHAR(128) NOT NULL,
|
||||
request_timestamp BIGINT NOT NULL,
|
||||
request_method VARCHAR(16) NULL,
|
||||
request_path VARCHAR(256) NULL,
|
||||
body_hash VARCHAR(128) NULL,
|
||||
remote_ip VARCHAR(64) NULL,
|
||||
user_agent VARCHAR(512) NULL,
|
||||
expires_at DATETIME(3) NOT NULL,
|
||||
create_time DATETIME(3) NOT NULL,
|
||||
update_time DATETIME(3) NOT NULL,
|
||||
UNIQUE KEY uk_tms_replay_nonce_scope_principal_nonce (scope, principal_id, nonce),
|
||||
KEY idx_tms_replay_nonce_expires_at (expires_at),
|
||||
KEY idx_tms_replay_nonce_principal_time (principal_id, create_time)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tms_security_event (
|
||||
id BIGINT PRIMARY KEY,
|
||||
event_type VARCHAR(64) NOT NULL,
|
||||
scope VARCHAR(32) NOT NULL,
|
||||
principal_id VARCHAR(128) NULL,
|
||||
request_method VARCHAR(16) NULL,
|
||||
request_path VARCHAR(256) NULL,
|
||||
nonce VARCHAR(128) NULL,
|
||||
remote_ip VARCHAR(64) NULL,
|
||||
detail_json JSON NULL,
|
||||
create_time DATETIME(3) NOT NULL,
|
||||
update_time DATETIME(3) NOT NULL,
|
||||
KEY idx_tms_security_event_event_type (event_type),
|
||||
KEY idx_tms_security_event_scope_principal (scope, principal_id)
|
||||
);
|
||||
|
||||
INSERT IGNORE INTO tms_role_account (
|
||||
id,
|
||||
role_code,
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- Replay protection tables
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tms_replay_nonce (
|
||||
id BIGINT PRIMARY KEY,
|
||||
scope VARCHAR(32) NOT NULL COMMENT '防重放作用域:OPENAPI / INTERNAL_API',
|
||||
principal_id VARCHAR(128) NOT NULL COMMENT '主体标识:appId / sessionToken',
|
||||
nonce VARCHAR(128) NOT NULL,
|
||||
request_timestamp BIGINT NOT NULL,
|
||||
request_method VARCHAR(16) NULL,
|
||||
request_path VARCHAR(256) NULL,
|
||||
body_hash VARCHAR(128) NULL,
|
||||
remote_ip VARCHAR(64) NULL,
|
||||
user_agent VARCHAR(512) NULL,
|
||||
expires_at DATETIME(3) NOT NULL,
|
||||
create_time DATETIME(3) NOT NULL,
|
||||
update_time DATETIME(3) NOT NULL,
|
||||
UNIQUE KEY uk_tms_replay_nonce_scope_principal_nonce (scope, principal_id, nonce),
|
||||
KEY idx_tms_replay_nonce_expires_at (expires_at),
|
||||
KEY idx_tms_replay_nonce_principal_time (principal_id, create_time)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tms_security_event (
|
||||
id BIGINT PRIMARY KEY,
|
||||
event_type VARCHAR(64) NOT NULL,
|
||||
scope VARCHAR(32) NOT NULL,
|
||||
principal_id VARCHAR(128) NULL,
|
||||
request_method VARCHAR(16) NULL,
|
||||
request_path VARCHAR(256) NULL,
|
||||
nonce VARCHAR(128) NULL,
|
||||
remote_ip VARCHAR(64) NULL,
|
||||
detail_json JSON NULL,
|
||||
create_time DATETIME(3) NOT NULL,
|
||||
update_time DATETIME(3) NOT NULL,
|
||||
KEY idx_tms_security_event_event_type (event_type),
|
||||
KEY idx_tms_security_event_scope_principal (scope, principal_id)
|
||||
);
|
||||
Reference in New Issue
Block a user