lovefyfandClaude Opus 5 ec0293fb79 docs: Keycloak 配置补齐——service 角色/audience mapper 落地与 token 验证
人类补授 manage-realm + manage-clients 后重跑第 1 轮被 403 的操作:
① realm 角色 service 已建(201);② 已挂到 task-dispatcher / api-gateway
两个服务账号(204,composite 复核含 service);③ task-dispatcher 加
aud-data-service + aud-agent-service(201×2);④ api-gateway 加
aud-task-dispatcher(201);⑤ web-portal 早已存在,全程零写操作。

三项验证解码真实 token 全部 PASS,Task 11 的人类管理员路径与服务间
调用路径前置条件均已满足。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 07:08:06 +08:00

bpos-service-gateway

前端唯一入口:BFF 聚合、鉴权与到 task / data / agent 的路由(:8800,无自有库)。

N0 已达能力

  • 同构骨架:与 task / data 仓同形的 Hono 应用与目录布局;GET /health 汇总 nats 依赖状态(无自有库,故无 db 探活)。
  • Keycloak 验签:requireAuth / requireRealmRole / requireService 中间件,JWKS 远端验签。
  • 协议册副本:src/contracts/envelope.ts,真源在 BPOS-Document-Share。
  • NATS 连接助手:getNats / checkNats / closeNats——网关只需连通性(订阅 touch / stream 用),无库故无 outbox、无 relay、无 consumer。

运行方式

pnpm i               # 装依赖
pnpm dev             # 本地起服务(:8800)
pnpm gates           # typecheck + lint + test

本仓无自有库,故无 db:migrate。

S
Description
No description provided
Readme
127 KiB
Languages
TypeScript 99.7%
JavaScript 0.3%