Gerege POS¶
Production · 第 4 层——行业产品 ·
仓库:gerege-pos-mn · geregepos.mn
销售点上的可信身份认证与电子签名。 在柜台即可凭电子身份证当场识别客户,并以具备法律效力的签名封存合同、授权与交易。
归属
平台由 Gerege POS 有限公司拥有并运营。其技术底座是 Gerege Systems 的版本化共享 Go 模块 open-gerege-core,身份认证、安全、AI 与服务层均由它提供。
解决什么问题¶
传统 POS 记录卖了什么,却无法证明是谁买的。年龄受限商品、合约类服务、信贷、保险、实名 SIM 卡——这些都需要在柜台完成一次真实的身份确认。Gerege POS 补上了这个缺口:
| 问题 | 答案 |
|---|---|
| 站在这里的是谁? | eID 身份认证——二维码 / App2App / 按身份证号推送 |
| 他同意了吗? | PAdES 电子签名(eID Mongolia /v3) |
| 是代表企业吗? | eID PKI 档案——组织与授权签署人 |
| 事后能否抵赖? | 哈希链、只追加的审计日志 |
核心能力¶
-
eID + Gerege SSO
唯一的登录方式是 eID,没有密码。同时它也是 Gerege SSO 的 relying party。
-
自身也是 OIDC 提供方
配置
OAUTH_ISSUER后,平台本身即成为身份提供方,为下游应用提供登录(自有 Go 代码,不依赖 Hydra)。 -
电子签名
对 PDF 施加 PAdES 签名;签名中继让第三方 RP 借助平台的 eID 凭据完成签名。
-
由管理端驱动的网关
服务目录、按应用授予的
svc:*权限、请求遥测。 -
公民服务门户
申请、证明、通知、缴费、预约,以及经办队列(CPSV-AP 词汇表、带 SLA 的状态机)。
-
AI 助手(Gemini)
聊天、语音转文字、文字转语音、实时翻译。知识库采用 pgvector 语义检索。
此外还有:RBAC 与超级管理员(TOTP 多因素)、组织与成员管理、统一服务登记(once-only 监控)、跨平台 relay、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| POS[Gerege POS<br/>第 4 层]
SSO -->|eID proxy · sign relay| POS
CORE[(open-gerege-core<br/>第 3 层)] -.共享模块.-> POS
- 从不直接访问 eID。 获准使用的 eID 服务经由 SSO 的 eID 代理(
/rp/eid、/rp/eid-org)与签名中继(/rp/sign)转达。 - 客户端密钥存放在 SSO。
gerege-pos-mn客户端注册在sso.gerege.mn,密钥在那里只以哈希形式存在。 - 底座是共享的。 后端是
open-gerege-core的参考部署,没有自有路由,因此安全补丁可以从单点扩散。
技术¶
| 层 | 选择 |
|---|---|
| 后端 | Go 1.26 · chi(net/http)· pgx(无 ORM,手写 SQL) |
| 数据 | PostgreSQL 16 + pgvector · Redis 7 |
| 前端 | Next.js 15(BFF)· React 19 · TanStack Query |
| AI | Gemini REST(无 SDK)——聊天 · STT · TTS · 翻译 |
| 可观测性 | OpenTelemetry · Prometheus · Zap |
| 部署 | edge nginx 之后的 Docker Compose,geregepos.mn |
详见技术栈。
安全基石¶
- Postgres 行级安全(RLS)——api 以非超级用户角色连接,启动时由守卫强制校验。
- BFF 模型——令牌存放于 httpOnly cookie,绝不进入浏览器 JS;CSRF 有双重防护(自定义请求头 + origin 校验)。
- fail-closed——没有凭据时功能直接关闭,而不是假装可用。
- 哈希链审计——
/api/v1/audit/verify校验链条完整性并指出第一条被破坏的记录。
生态层面的统一要求见安全。
完整文档¶
实现层面的完整文档——功能全景、端点参考、部署 runbook——位于独立站点:
| 页面 | 内容 |
|---|---|
| 功能全景 | 每个模块、权限、限流与启用条件 |
| 应用接入(OIDC RP) | 接入自有应用的步骤 |
| eID 服务代理 | 通过代理获取 eID 数据 |
| API 参考 | 所有端点汇于一表 |
| 部署 | Compose、env、nginx、回滚 |