← 返回項目列表
開放 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 需要更強、更標準的簽章構造,以及由伺服器端強制執行的時間窗。 |