跳转至

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 代码、 PKCE S256、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-mn client 注册在 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——位于独立站点:

Gerege App 文档 →

页面 内容
能力矩阵 各模块、权限与界面页面一览
政务服务 申请的完整流程、公务人员队列
服务登记 CPSV-AP 护照、once-only 违规
接入应用(OIDC RP) 让自家应用登录的步骤
API 参考 全部 endpoint 汇于一表
部署 Compose、env、nginx、回滚