GSS UC Integration — 用户中心 SSO / 主数据同步(Fred 子系统共享包)
将各子系统里同构的 modules/uc_integration 抽成可安装包,避免复制粘贴分叉。
能力
| 接口 | 说明 |
|---|---|
GET /{subsystem}/uc_integration/auth/sso/config |
登录模式 |
POST /{subsystem}/uc_integration/auth/sso/exchange |
UC code/accessToken → 本地 JWT |
POST /{subsystem}/uc_integration/auth/sso/refresh |
UC refreshToken 续期 |
POST /{subsystem}/uc_integration/internal/uc-sync |
UC 主数据推送(仅本机) |
GET /{subsystem}/uc_integration/internal/uc-sync |
同步健康检查 |
本地 JWT 的 sub 含:
- 本地身份:
id/username/name/store_id(当前选中,可空)/role uc精简:code/name/store/is_store_manager,以及departments/roles/roleCodes(payload 有则带)- 不含全量
store_ids/stores(避免 Authorization 过大 → 431)
换票响应 body 可另含 storeIds(当次组织现查结果,供前端首屏),不进 JWT。后续门店列表应走服务端按部门现查。
安装
# 开发:可编辑安装
pip install -e /path/to/uc-integration
# 或从 git
pip install "gss-uc-integration @ git+ssh://git@github.com/org/uc-integration.git"
Fred 只从项目 modules/ 扫描蓝图,安装后必须链接:
# 在子系统根目录(含 modules/)
python /path/to/uc-integration/scripts/link_to_project.py .
# 或覆盖已有 symlink
python /path/to/uc-integration/scripts/link_to_project.py . --force
等价手动操作:
ln -sfn "$(python -c 'import uc_integration,pathlib; print(pathlib.Path(uc_integration.__file__).parent)')" \
modules/uc_integration
宿主配置
common/config/Config.py(或等价配置):
LOAD_CUSTOM_MODULES = [..., "uc_integration"]
SSO_LOGIN_MODE = 'uc' # 或 'local'
UC_SUBSYSTEM_CODE = 'ai_check' # 路由前缀:/{code}/uc_integration
USER_CENTER_BASE_URL = 'http://127.0.0.1:5001'
USER_CENTER_INTERNAL_SECRET = '...' # 与 UC OPEN_API_INTERNAL_SECRET 一致
# 可选
UC_INCLUDE_STORE_SCOPE = True # 解析/返回门店 scope + 当前 store_id;不写全量 store_ids 进 JWT(默认 True)
UC_STORE_FALLBACK_FIRST = True # 无匹配门店时回退第一个(默认 True;仅关闭 scope 时的选店回退)
宿主前置条件
- 本地库有
uc_user/uc_store等镜像表(可由 sync DDL 自动建) - ORM:
model.model中存在UcUser(以及门店 scope 需要的UcDept等) - 依赖:
fred_admin、Flask、SQLAlchemy(由子系统环境提供)
目录结构(Fred 兼容)
uc_integration/
__init__.py # 导出蓝图
backend/
__init__.py # Blueprint + url_prefix
deps.py # 惰性解析 model.model
controller/
service/
schema/
从旧模块迁移
pip install -e ../uc-integration- 备份并删除子系统
modules/uc_integration python ../uc-integration/scripts/link_to_project.py .- 确认
UC_SUBSYSTEM_CODE与门户子系统编码一致 - 验证
GET /{code}/uc_integration/auth/sso/config
版本
当前 0.1.0,以 ai_check(UC 原样透传)+ todo(门店 scope / 动态前缀)合并为基准。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
uc_integration-0.1.2.tar.gz
(18.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uc_integration-0.1.2.tar.gz.
File metadata
- Download URL: uc_integration-0.1.2.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.10.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f947621a29bbab514c9cef8b196123949cbb95651ff5e19117ff7a1131ecab4c
|
|
| MD5 |
d04fa8067b66f2ddc83ad5141dfac5e8
|
|
| BLAKE2b-256 |
3ce933a0d424af0273ba10966972b794f09e20520bf3352019f26ebb656df23c
|
File details
Details for the file uc_integration-0.1.2-py3-none-any.whl.
File metadata
- Download URL: uc_integration-0.1.2-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.10.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a47cb4fadf83381e1994f3c07e40248e4f94e21b6e3f6ebfb224cfb7124da817
|
|
| MD5 |
808aa25b477e8545e448ee51ed31494e
|
|
| BLAKE2b-256 |
2898fefb5eabdb58c50ce641ddcab8e93d43492db7f5481dccbfb13a8efc01ab
|