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