my_local_kimi_dev2
|
3f46b64218
|
feat(open): 服务身份免登录分页查询(REQ-20260921-0004)
- agent_scope 新增 service_enabled 标记(Flyway V7 + 回滚),服务 Token 签发
由 sync 硬编码改为标记驱动,管理后台作用域 CRUD/前端支持该标记
- PermissionService 全部行过滤入口加 tenant_service 分支:服务主体总部视角
全量可见不做行过滤,用户身份行为不变;非服务主体的 null user 显式拒绝
- warehouse.todo.list.query 按当前登录人统计,服务身份返回 PERMISSION_DENIED
- RateLimitService 新增 SERVICE-QUERY 独立限流档(默认 300/分钟)
- seed-dev.sql 新增 ops-query 作用域并绑定全部在线查询工具
- 文档:tools-reference §0.3、README Open API 服务 Token 段
|
2026-09-21 15:58:08 +08:00 |
|
jiashumeng
|
e064e86def
|
feat(admin): add managed Open API client keys
|
2026-09-15 12:05:26 +09:30 |
|
wangheng
|
6639b93c45
|
feat(mcp): 增量同步框架与 users/properties/contracts changes 工具 (REQ-20260911-0013)
- 通用 ChangesEngine:snapshot 钉住 data_cutoff_at、(modify_time,id) 复合游标、
仅最后一页签发 next_sync_token、软删 tombstone;sync_token/cursor 为
HMAC-SHA256 无状态令牌(SyncTokenCodec),过期/篡改/跨快照/数据域变更
统一 SYNC_CURSOR_EXPIRED
- 注册式实体扩展:SyncEntity/Registry + users(m0.user)/properties(m0.properyt)/
contracts(m2.contract_new) 三个实现;生效修改时间 COALESCE(modify_time, create_time)
- 硬约束:GuardedToolCallback 对 *.changes.list 拒绝 tenant_id/scope 入参,
数据域只从 Token 推导;行级权限复用 PermissionService 与 QUERY 工具同一 ACL
- 资源隔离:RateLimitService SYNC/QUERY 分档限流(Redis 固定分钟窗)、
limit≤200 截断、SyncQueryTimeoutInterceptor 慢查询超时(三套 SqlSessionFactory 接入)
- contract.list.query 补齐 12 字段、contract.detail.query 补 version(ACL 不变)
- V5 migration:tool.description 512→1024(含 sql/rollback 回滚文件)
- seed-dev.sql:三个 changes 工具绑定进 sync 作用域
- 修复:properyt.customerId 为 NULL 时 Collectors.toMap NPE(冒烟命中),
改为 put 逐条装填(ContractsSyncEntity/ContractTools)
|
2026-09-14 12:19:36 +08:00 |
|
xiaoqu
|
a0bae500bc
|
feat(mcp): 服务 Token 生命周期与开放通道域绑定 (REQ-20260911-0014)
- agent_api_key 增加 principal_type/subject_name(V4 Flyway + rollback),integration.context.get 按列判定主体类型\n- Open API 支持 clients 服务密钥→作用域绑定;service ensure get-or-create/无密文轮换,旧密钥禁签 service\n- 服务 Token 吊销/轮换;人员停用后 user Token 失效(60s 本地缓存);AkAuthFilter 401 返回 UNAUTHENTICATED\n- ensure 入口约束:service 仅 sync 作用域、user 禁 sync;sync 作用域预建并绑定 integration.context.get\n- 单测 157 通过;本机 test-up 冒烟通过(跨域/旧密钥/user-sync 403,service context 自检,吊销立即 401,吊销后再签发)
|
2026-09-14 09:20:48 +08:00 |
|
xiaoqu
|
8c872ac15d
|
feat(open): ensure支持二次获取明文(ak存AES-GCM密文key_cipher, app.token-cipher-key派生密钥); 历史无密文Token自动轮换; V3迁移+回滚方案; 同步文档
|
2026-09-07 12:41:03 +08:00 |
|
xqzp2026
|
87659f9de9
|
fix(database): enforce Flyway migration governance
|
2026-09-03 18:28:10 +09:30 |
|