← 返回项目列表
开放 API

合作伙伴 OpenAPI

供合作伙伴开通和管理账号的签名外部 API

搭建网关骨架、认证与账号开通 API;构建应用凭证服务 · 2025.11 — 2026.04
Go Gin gRPC HMAC-SHA256 MySQL/GORM Swagger

项目概述

一套外部 API,让合作伙伴系统可以在平台上创建和管理账号。我搭建了网关骨架、认证与签名、账号开通 API,以及背后的凭证服务。

核心技术亮点

01

AppId 与租户授权;HMAC-SHA256 请求签名,常量时间校验,5 分钟时间窗口

02

批量开通账号(每次请求最多 20 个,并发处理),每个账号编排 4 个下游服务

03

开通步骤失败时执行补偿回滚,并逐条返回成功/失败结果

04

应用凭证 gRPC 服务:签发 AppId/secret/数据密钥,支持启用/禁用,每个租户仅一个有效应用

05

提供 Swagger 文档,复用共享的链路追踪与日志中间件

核心实现

1

多步骤账号开通

每个账号:创建用户 → 创建钱包 → 设置信用额度 → 在下游服务商处注册。任一步失败都会触发补偿删除,批量请求逐条返回结果。

Why: 合作伙伴需要准确知道哪些账号成功,以便只重试失败的部分。

技术决策

技术决策 选择 替代方案 原因
请求签名 对 AppId + timestamp + nonce 做 HMAC-SHA256,常量时间比较,±5 分钟窗口 内部客户端使用的旧版 MD5 方案 对外 API 需要更强、更标准的签名构造,以及由服务端强制执行的时间窗口。