Files
yunzerwebsiteallinone/go/docs/sql/create_auth_register_session.sql
T
2026-10-31 01:21:55 +08:00

26 lines
1.9 KiB
SQL

-- 统一认证:注册会话(第一步核验 → 第二步企业归属)
-- 之前注册会话只存在进程内存里,服务重启 / 多副本部署 / 填表超时都会导致
-- 「注册会话已失效,请重新注册」。改为落库后:
-- ① 重启、多实例共享都不丢;② 有效期可放宽到 2 小时(填企业资料+上传执照足够);
-- ③ 身份仍在第二步才创建,超时/放弃时不会留下占用账号的半成品身份。
CREATE TABLE IF NOT EXISTS `yz_auth_register_session` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`token` VARCHAR(64) NOT NULL COMMENT '注册令牌(第一步核验通过后签发)',
`account` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '账号名(账号 / 小程序注册;短信注册为空)',
`mobile` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '手机号(短信注册)',
`nickname` VARCHAR(64) NOT NULL DEFAULT '',
`password_hash` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '待注册密码哈希(argon2id PHC 格式)',
`password_algo` VARCHAR(16) NOT NULL DEFAULT 'argon2id',
`openid` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '核验得到的微信 openid',
`unionid` VARCHAR(64) NOT NULL DEFAULT '',
`provider` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'wechat(公众号) / wechat_mini(小程序)',
`identity_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '第二步建号后写回;0 = 尚未建号',
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '0待完成 1已完成',
`expire_at` DATETIME NOT NULL COMMENT '过期时间',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_token` (`token`),
KEY `idx_expire_at` (`expire_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统一认证-注册会话';