mirror of
https://gitee.com/dromara/dax-pay
synced 2026-08-13 07:45:41 +08:00
- 新建 capability-social 模块,实现 OAuth2 授权码模式社交登录 - 支持 GitHub / Gitee / QQ / 微信 / 企业微信 / 飞书 / 钉钉 / 抖音 8 个平台 - 前端回调模式:第三方 → 前端 /auth/oauth-callback → POST /social/exchange - state 缓存至 Redis,exchange 时校验并恢复上下文 - 社交配置管理页面(卡片列表 + 抽屉表单) - 用户社交绑定管理(个人中心绑定列表 / 解绑) - 枚举国际化 SocialSourceEnum 实现 I18nSupport - IamUserSocial 实体 + i18n 错误码 + SQL 迁移 - 清理死代码:scopes / frontendCallbackUrl / name / stateTimeout
21 lines
1.5 KiB
SQL
21 lines
1.5 KiB
SQL
-- 第三方平台登录配置表: 合并前端地址字段, 移除 state 超时与作用域字段
|
|
-- 将 frontend_base_url + callback_path 合并为 frontend_callback_url,
|
|
-- state_timeout 不再由平台配置维护, 改用系统默认常量(300秒),
|
|
-- scopes 字段从未参与授权请求, 各平台 scope 已硬编码, 移除该死字段
|
|
ALTER TABLE iam_social_config ADD COLUMN IF NOT EXISTS frontend_callback_url VARCHAR(384);
|
|
-- 迁移已有数据(拼接基础地址与回调路径)
|
|
UPDATE iam_social_config
|
|
SET frontend_callback_url = CONCAT(COALESCE(frontend_base_url, ''), COALESCE(callback_path, ''))
|
|
WHERE frontend_callback_url IS NULL AND (frontend_base_url IS NOT NULL OR callback_path IS NOT NULL);
|
|
ALTER TABLE iam_social_config DROP COLUMN IF EXISTS frontend_base_url;
|
|
ALTER TABLE iam_social_config DROP COLUMN IF EXISTS callback_path;
|
|
ALTER TABLE iam_social_config DROP COLUMN IF EXISTS state_timeout;
|
|
ALTER TABLE iam_social_config DROP COLUMN IF EXISTS scopes;
|
|
ALTER TABLE iam_social_config DROP COLUMN IF EXISTS name;
|
|
ALTER TABLE iam_social_config DROP COLUMN IF EXISTS frontend_callback_url;
|
|
|
|
-- client_secret 改为加密存储(AES-256-GCM, 由 DataEncryptTypeHandler 透明加解密)
|
|
-- 字段长度 VARCHAR(256) 可容纳密文(appSecret 多为 32~64 字符, 密文 < 200 字符), 无需调整
|
|
-- 开发阶段无历史明文数据, 跳过迁移; 生产环境启用前需写一次性逻辑加密历史明文
|
|
COMMENT ON COLUMN iam_social_config.client_secret IS '客户端密钥(加密存储)';
|