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/store_ids/role uc:UC validate/exchange 原样透传(不做字段白名单)
安装
# 开发:可编辑安装
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 # JWT 写入 store_ids / role(默认 True)
UC_STORE_FALLBACK_FIRST = True # 无匹配门店时回退第一个(默认 True)
宿主前置条件
- 本地库有
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.1.tar.gz
(17.0 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.1.tar.gz.
File metadata
- Download URL: uc_integration-0.1.1.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f40c0d5347eeb96c14888f2051888799a337d9c27425651351447f6835af7b31
|
|
| MD5 |
75d7ed95fc55986baa591027ed10fb3f
|
|
| BLAKE2b-256 |
d042d8d4ef5c46b291a2a22afba497d163dbd941195316e47fc31da90c2dd314
|
File details
Details for the file uc_integration-0.1.1-py3-none-any.whl.
File metadata
- Download URL: uc_integration-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcd27ba46f70502d0d37d4627a0f71d48cd3dbba2bed3c2e109b5acf9cf51459
|
|
| MD5 |
a3c7e7ab08ea0cdc3a9169332ae359e9
|
|
| BLAKE2b-256 |
ebd7fc0da6d0b031b6cf26a8b639e741ecb9ad1f4cf89dd2b71cffa8330ef256
|