← プロジェクト一覧へ
オープン API
パートナー OpenAPI
パートナーがアカウントをプロビジョニング・管理するための署名付き外部 API
ゲートウェイの骨格、認証、プロビジョニング API を構築。アプリ認証情報サービスを構築 · 2025年11月 — 2026年4月
Go Gin gRPC HMAC-SHA256 MySQL/GORM Swagger
概要
パートナーのシステムがプラットフォーム上でアカウントを作成・管理するための外部 API。ゲートウェイの骨格、認証と署名、アカウントのプロビジョニング API、そしてそれを支える認証情報サービスを構築した。
主な技術ポイント
01
AppId とテナントによる認可。定数時間検証と5分間の時間枠を備えた HMAC-SHA256 リクエスト署名
02
一括アカウントプロビジョニング(1リクエスト最大20件、並行処理)。1アカウントにつき4つの下流サービスをオーケストレーション
03
プロビジョニングのステップが失敗した場合の補償ロールバックと、項目ごとの成功/失敗結果
04
アプリ認証情報 gRPC サービス:AppId / シークレット / データキーの発行、有効化/無効化、テナントあたり有効なアプリは1つ
05
Swagger でドキュメント化し、共有のトレーシング・ロギングミドルウェアを使用
コア実装
1
マルチステップのプロビジョニング
各アカウントについて:ユーザー作成 → ウォレット作成 → クレジット設定 → 下流プロバイダーへの登録。失敗すると補償削除が走り、バッチは項目ごとに結果を返す。
Why: パートナーはどのアカウントが成功したかを正確に把握し、失敗したものだけをリトライできる必要がある。
技術的意思決定
| 技術的意思決定 | 選択 | 代替案 | 理由 |
|---|---|---|---|
| リクエスト署名 | AppId + timestamp + nonce に対する HMAC-SHA256、定数時間比較、±5分の時間枠 | 内部クライアントが使っていた旧来の MD5 方式 | 外部 API には、より強固で標準的な構成と、サーバー側で強制される時間枠が必要だった。 |