開發門戶和訪問令牌
1)開發者門戶的作用
Developer Portal是集成商的「前臺」:自助服務(鑰匙,代幣,webhook,票價計劃),透明度(限制,使用,發票),安全(輪換,簽名),集成速度(SDK,文檔,沙箱)。
主要目標:- 將TTI(時間到集成)縮短到幾個小時。
- 提供訪問可管理性:誰/什麼/多少/何時。
- 通過自動工具減輕支持負擔。
2)登錄和帳戶
註冊:電子郵件+2FA/SSO(SAML/OIDC);域確認(DNS令牌)。
組織和團隊:「Owner」,「Admin」,「Developer」,「Billing」,「Security」的角色。
多功能:將應用程序綁定到組織;數據訪問-通過tenant/環境。
KYC/B2B (opz.):對於企業-法人,合同,上面的限制。
3)應用程序和credenschels
應用程序類型為:「服務器到服務器」,「web」,「mobile」,「machine-to-machine」,「webhook-consumer」。
3.1 Keys API(服務器到服務器,簡單集成)
ID 「key_id」+密碼「key_secret」(一次可見)。
綁定到計劃和scopes集。
查詢簽名(HMAC)和/或標題"授權:ApiKey <key_id>:<signature>'。
3.2 OAuth2/OIDC(建議)
贈款:- Client Credentials(計算機)。
- Authorization Code (+PKCE) (user-delegated).
- Refresh Token(離線訪問,RT輪換)。
- 設備代碼(電視/控制臺)。
3.3 mTLS(附加級別)
互惠的TLS in ingress;證書通過門戶下載;將'cert_fingerprint'綁定到應用程序。
4)代幣: 類型和生命周期
原則:- 短AT+長RT;RT-滾動旋轉(旋轉使用)。
- 按鍵/應用/組織強制召回(revoke)。
- Pere發行,但仍保留scopes/配額限制。
4.1 JWT格式(示例)
json
{
"iss":"https://auth. example. com",
"sub":"app_123",
"aud":"https://api. example. com",
"exp":1730616000,
"iat":1730612400,
"scp":["wallet:read","bet:write"],
"org":"acme",
"kid":"jwks_2025_11",
"jti":"at_01HXY..."
}
公共密鑰在JWKS上發布;「kid」輪換。
4.2 Opaque令牌和Introspection
存儲在Auth服務器「token_store」 (Redis/SQL)中。
內斷:「active」,「scope」,「exp」,「client_id」,「org」,「tenant」。
5)Scopes,角色和訪問策略
Scopes描述操作(「wallet:read」,「wallet:write」,「report: read」)。
角色由scopes匯總(「Developer」,「Billing」)。
ABAC:「org」,「tenant」,「region」,「environment」的屬性。
政客: 「這個關鍵只是'eu-west-1'和'read'。」
步進:關鍵技術需要高級scopes或mTLS。
6)配額,限制和關稅
Rate limits: RPS/RPM, burst.
配額:日/月,貸款。
按鍵/附錄/組織/tenant。
該門戶顯示了usage,「X-RateLimit-」和「X-Cota-」的標題以及覆蓋預測。
計費:與計劃捆綁在一起,按事件計費,發票和計費網絡手冊。
7)網絡包管理
註冊結束點,秘密,事件版本。
測試交付和重播;嘗試邏輯(2xx/4xx/5xx)。
HMAC簽名(「X-Signature」),「X-Webhook-Id」,重復數據消除,尊重「410」。
8)文檔和SDK
帶有SDK自動生成的OpenAPI/AsyncAPI。
Cookbook:查詢示例,retrai,冪等,分離,webhooks。
嘗試播放(帶有沙鍵)。
Version Changelog和解密頁面。
9)沙盒和測試數據
孤立的環境:「sandbox」,「staging」,「production」。
測試實體(玩家,事務)和腳本(win/lose,延遲,5xx,429)。
從門戶和周圍環境進行數據搜索。
10)保密和保密
Hash Key API秘密(不公開存儲);一次顯示密鑰。
簽名令牌的秘密管理器(KMS/HSM);「kid」鍵輪換。
IP allowlist、地理約束、ASN過濾器。
2FA/SSO,硬件密鑰(WebAuthn)。
防擦保護:CAPTCHA在創建時,反機器人啟發式,註冊速度。
沒有PII/秘密的邏輯;按模板進行幹預。
11)審核和合規性
審核日誌:誰創建/查看/回收了密鑰,修改了webhook,下載了報告。
GDPR/DSAR:卸載和刪除應用程序/組織數據。
存儲策略:TTL for Log,法律保留事件。
使用條件/公平使用和出口限制。
12)管理和運營
大規模召回事件/損害令牌。
暫時暫停應用程序(suspend),包括原因和上訴。
按鍵滾動(雙鍵模式:「active/next」)。
事件通訊:狀態頁面、郵件、RSS/webhooks狀態。
13)門戶的UI/UX(關鍵屏幕)
Dashboard組織:使用/錯誤/SLO/計費。
應用: 密鑰,令牌,scopes,限制,webhooks,環境.
帶有過濾器和Replay按鈕的webhook交付日誌。
令牌控制臺:發布/評論,歷史,原因。
文檔和SDK,Quickstart,示例代碼(復制粘貼)。
「消除和遷移」部分。
14)合同和configs示例
14.1個OpenAPI(片段)
yaml paths:
/v1/apps:
post:
summary: Create app security: [{ oauth2: [admin:apps. write] }]
responses:
'201': { description: Created }
/v1/apps/{app_id}/keys:
post:
summary: Create API key (shown once)
responses:
'201': { description: Created }
/v1/oauth2/token:
post:
summary: Token endpoint (CC/AC)
responses:
'200': { description: Access token }
/v1/tokens/revoke:
post:
summary: Revoke access/refresh token responses:
'204': { description: Revoked }
14.2令牌內測(回答)
json
{
"active": true,
"client_id": "app_123",
"scope": "wallet:read bet:write",
"org": "acme",
"exp": 1730616000,
"token_type": "access_token",
"jti": "at_01HXY..."
}
14.3密鑰策略(JSON)
json
{
"app_id":"app_123",
"plan":"pro-2025",
"scopes":["wallet:read","report:read"],
"limits":{"rps":50,"daily_requests":250000},
"regions":["eu-west-1"],
"ip_allow":["192. 0. 2. 0/24"]
}
15)篩選和清除過程
API的語義版本(「/v1」,「/v2」),兼容性「添加,不要中斷」。
門戶網站顯示:「什麼會過時」,到什麼日期,以及「如何遷移」。
遷移指南,測試沙盒「v2」,雙寫作/雙讀。
16)可觀察性和報告
Usage →收入:查詢/貸款時間表/overage。
狀態錯誤/「error_code」,潛伏直方圖。
SLO小部件:關鍵手柄的可用性和p95。
導出CSV/JSON,報告網絡手冊,用於分析的API。
17)支票單
17.1安全性
[2FA/SSO],域確認/郵件
- 一次顯示秘密,散列存儲
- JWKS和鑰匙輪換,「kid」
- mTLS (opz.),IP allowlist,geo/ASN過濾器
- 反機器人/反顛覆,rate-limit創建密鑰
- 操作和訪問審核記錄
17.2 DX/Onbording
- Quickstart ≤ 5分鐘
- 具有相同曲面的SDK (TS/Py/Java/Go/.NET)
- Playground+沙鍵
- Cookbook: webhooks、degination、retrai、idementity
- 限制/計劃/價格頁面
- 「復制粘貼」示例"
17.3個行動
- 大規模代幣召回,suspend app
- 事件/狀態頁面+訂閱
- webhook的DLQ/Replay
- 即將用盡配額的自動警報
- 月度報告和發票
18)實施計劃(3次叠代)
叠代1-MVP(2-3周):- 組織/應用程序註冊,Keys API發布,客戶端信用OAuth2,基本限制(RPS/配額),查詢日誌和使用圖形,文檔以及沙箱TS/Python SDK。
- JWT+JWKS,鍵輪換,Refresh Token+rotate-on-use,授權2FA/SSO,webhooks(簽名,retries,拼寫,復制),計費webhooks,報告和導出,角色和ABAC。
- mTLS,管理工具(mass revoke/suspend),v2解密和遷移,Java/Go/.NET SDK,finops-dashbords,GDPR/DSAR,Legal Hold,高級防偽。
19)迷你常見問題
JWT還是opaque?
JWT很方便,無需查詢Auth服務器(簽名/「kid」),操作更易於召回和隱藏內容。它們通常同時使用:外部的JWT,內部的opaque帶有內窺鏡。
Access Token有多少人居住?
短:5-15分鐘用於用戶,15-60分鐘用於機器。由refresh機械師補償。
如何安全地輪換密鑰?
保持「active/next」,在JWKS上同時發布,在「kid」上切換客戶,然後召回舊客戶。
底線
強大的開發者門戶網站是自助服務,可觀察性和默認安全性。提供清晰的令牌發布/輪換/召回流程、透明的限額和計費、高質量的文檔和SDK、可靠的網絡手冊和審核。然後,集成商將快速啟動,您的平臺將在負載下保持可控、兼容和穩定。