Gerege App¶
Production · 第 4 层 — 垂直产品 ·
仓库:gerege-app-mn · geregeapp.mn
把公民的日常服务装进一个应用。 用电子身份证件完成识别、领取证明、 在合同上签名、缴纳费用、管理自己的机构——不必再装很多应用、记很多密码、 排很多队。
归属
平台由 Gerege App ХХК 拥有并运营。其技术底座是 open-gerege-core——
与 Gerege Systems 版本共用的 Go 模块,身份、安全、AI 与服务支撑层均由此继承。
它解决什么问题?¶
公民为每项服务打开不同的应用、记住不同的密码,并一次又一次地附上同样的材料。 Gerege App 一并解决这三点:
| 问题 | 答案 |
|---|---|
| 是谁在登录? | eID 认证——二维码 / App2App / 按登记号推送 |
| 还要再登录一次吗? | 只需一次——平台自身即 OIDC 提供方(SSO) |
| 还要再交同样的材料吗? | 服务登记会识别对 once-only 原则的违反 |
| 我的申请到哪一步了? | 申请时间线 + relay 的 SLA 监控 |
核心能力¶
-
eID + Gerege SSO
唯一的登录方式是 eID。没有密码,也没有邮箱 OTP。平台同时是 Gerege SSO 的依赖方。
-
自身也是 OIDC 提供方
配置了
OAUTH_ISSUER之后,平台即成为自己的身份提供方——自研 Go 代码、 PKCES256、RS256 的id_token。 -
政务服务门户
目录 → 申请 → 公务人员队列 → 决定 → 证明、缴费、预约。采用 ZGW 那种把 进度与结果分开的状态机。
-
统一的服务登记
CPSV-AP 护照、版本历史、证明材料目录,以及对 once-only 违规的识别 (爱沙尼亚原则)。
-
平台间 relay
把来自上级平台的限期请求分派到下级机构,并监控 SLA。webhook 以各平台 自己的密钥签名。
-
AI 助手(Gemini)
聊天、语音→文本、文本→语音、实时翻译。带 pgvector 语义检索的知识库; 免登录的访客聊天单独隔离。
此外还有:PAdES 电子签名 + sign relay、由管理端维护的 API 网关、RBAC + 超级 管理员(TOTP MFA)、机构与成员关系、eID PKI 档案、Google Drive · Dropbox · Google Meet 连接、自带 SFTP 存储(Gerege Space)、四语界面 (mn · en · zh · ru)。
在生态系统中的位置¶
flowchart TD
EID[eID Mongolia<br/>第 1 层] --> SSO[Gerege SSO<br/>第 2 层]
SSO -->|OIDC RP| APP[Gerege App<br/>第 4 层]
SSO -->|eID proxy · sign relay| APP
CORE[(open-gerege-core<br/>第 3 层)] -.底座模块.-> APP
- 不直接访问 eID。 获授权的 eID 服务一律经 SSO 的 eID 代理
(
/rp/eid、/rp/eid-org)以及 sign relay(/rp/sign)。 - client secret 存放在 SSO。
gerege-app-mnclient 注册在sso.gerege.mn上;其 secret 只以哈希形式存放在那里。 - 底座是共用的。 后端是
open-gerege-core的参考实现(main.go约 30 行), 没有自己额外的路由。安全补丁自单点扩散。
技术¶
| 层 | 选型 |
|---|---|
| 后端 | Go 1.26 · chi (net/http) · pgx(无 ORM,手写 SQL) |
| 数据 | PostgreSQL 16 + pgvector · Redis 7 |
| 前端 | Next.js 15 (BFF) · TanStack Query |
| AI | Gemini REST(无 SDK)——聊天 · STT · TTS · 翻译 |
| 可观测性 | OpenTelemetry · Prometheus · Zap |
| 部署 | Docker Compose + edge nginx,geregeapp.mn |
详情请见技术栈。
安全基石¶
- Postgres 行级安全——api 以非 superuser 的角色连接;启动时由 guard
校验该条件。
gov_*各表另有面向公务人员的独立 policy。 - BFF 模式——令牌存于 httpOnly cookie,永不进入浏览器 JS;双重 CSRF 防护 (自定义请求头 + origin)。
- fail-closed 特性——凭据缺失时该能力直接关闭,而不会假装工作;启动 guard 一旦发现违规,API 就拒绝启动。
- 哈希链审计——
/api/v1/audit/verify会校验整条链的完整性。
生态系统的通用要求请见安全。
详细文档¶
实现层面的完整文档——能力矩阵、endpoint 参考、部署 runbook——位于独立站点:
| 页面 | 内容 |
|---|---|
| 能力矩阵 | 各模块、权限与界面页面一览 |
| 政务服务 | 申请的完整流程、公务人员队列 |
| 服务登记 | CPSV-AP 护照、once-only 违规 |
| 接入应用(OIDC RP) | 让自家应用登录的步骤 |
| API 参考 | 全部 endpoint 汇于一表 |
| 部署 | Compose、env、nginx、回滚 |