掌握整合 Smart Money API 至企業環境的複雜認證機制。學習 OAuth 2.0 流程、JWT 令牌模式、安全的密鑰輪換及多因素認證實作。
Smart Money API 支援多種認證方法,旨在適應不同的應用架構、安全需求與組織政策。理解這些模式可確保您的整合既安全又高效。
Smart Money API 的認證運作分為三個主要層級:
安全原則: 切勿在客戶端代碼、日誌、版本控制或錯誤訊息中暴露認證憑證。應定期執行憑證輪換,並在遭洩露時立即更換。
每種方法各有優勢:API 金鑰最適合後端對後端通訊且憑證儲存受控的情境;JWT 令牌在無共享狀態的分散式架構中表現出色;OAuth 2.0 則為第三方應用提供使用者委派存取權限。
API 金鑰是最簡單的驗證機制——它們是為您的帳戶生成的隨機字串,用於向 Smart Money API 識別您的應用程式。每個請求都必須包含您的 API 金鑰,可以放在標頭或查詢參數中。
建議的方法是使用 Bearer 方案在 Authorization 標頭中傳遞您的 API 金鑰:
對於 WebSocket 連接或無法修改標頭的情況,請將 API 金鑰作為查詢參數傳遞:
| 屬性 | 描述 |
|---|---|
| 格式 | 128 字元的十六進位字串,前綴為 sk_test_ 或 sk_live_ |
| 範圍 | 繼承創建它的帳戶的所有權限 |
| 過期時間 | 不會自動過期;必須手動輪換 |
| 輪換 | 生成新金鑰,遷移流量,然後停用舊金鑰 |
| 速率限制 | 使用同一金鑰的所有請求共享 |
Bearer tokens 在基礎 API 密鑰上擴展了上下文、有效期與刷新機制,適合需要程式化憑證管理的應用場景。
使用 API 密鑰與私鑰兌換 24 小時有效的 bearer token:
端點返回包含元數據的 bearer token:
後續請求需在 Authorization 標頭中加入 token:
當 token 即將過期時,使用 refresh token 無需提供 API 私鑰即可獲取新 token:
OAuth 2.0 允許用戶授權應用程式存取其 Smart Money API 帳戶而無需共享憑證,此為 SaaS 平台、第三方整合與多租戶應用的核心機制。
網頁應用標準流程:
僅請求您的應用程序所需的範圍。Smart Money API定義了以下範圍:
| 範圍 | 描述 |
|---|---|
| whales | 訪問鯨魚錢包追蹤和累積指標 |
| derivatives | 訪問期貨、永續合約和資金費率數據 |
| onchain | 訪問鏈上交易流和分析 |
| alerts | 創建和管理Webhook警報 |
| offline | 訪問刷新令牌以在離線狀態下獲取新的訪問令牌 |
JWT(JSON Web令牌)提供無狀態驗證——服務器無需存儲會話數據。Smart Money API使用RS256(帶有SHA-256的RSA簽名)進行令牌簽署,允許在不聯繫API的情況下進行驗證。
JWT令牌由三個部分組成,以點分隔:
頭部標識算法和令牌類型:
負載包含聲明(關於用戶/應用的陳述):
下載Smart Money的公鑰並在接受令牌前進行驗證:
定期輪換密鑰對於維護安全性至關重要。即使有完美的安全實踐,也應假設密鑰可能被洩露並實施系統化的輪換。
Smart Money根據密鑰類型和用途推薦不同的輪換計劃:
| 密鑰類型 | 推薦輪換 | 最低輪換 |
|---|---|---|
| 測試API密鑰 | 每月 | 每季度 |
| 生產API密鑰 | 每季度 | 每年 |
| OAuth 刷新令牌 | 自動(90天後) | 手動(180天後) |
| 服務帳戶密鑰 | 每半年 | 每年 |
在不中斷服務的情況下輪換密鑰:
若懷疑金鑰遭洩漏:
使用Kubernetes Secrets和運算元實現自動輪換:
存取生產資料的帳戶需啟用MFA,透過第二驗證因子強化安全性。
部分操作即使通過驗證仍需要MFA確認:
驗證強度取決於實施方式。遵循以下實踐以維護安全:
大型組織通常需要額外安全控制與合規能力。
企業客戶可將Smart Money API與組織身份供應商(Okta、Azure AD等)整合:
限制API訪問至特定IP地址或CIDR範圍:
企業計劃包含全面的審計日誌以符合合規要求:
| 事件 | 記錄數據 |
|---|---|
| 認證 | 用戶、時間戳、成功/失敗、IP、MFA狀態 |
| 密鑰操作 | 密鑰ID、操作、發起者、時間戳 |
| 帳戶變更 | 變更內容、變更者、時間戳、變更前/後值 |
| 數據訪問 | 用戶、端點、範圍、時間戳、記錄數量 |
問題: 收到"401未授權 - 無效API密鑰"
解決方案:
問題: Bearer令牌過期,請求失敗
解決方案:
問題: 瀏覽器因CORS錯誤阻止請求
解決方案:
問題: 即使輸入正確的代碼,需要MFA的操作仍失敗
解決方案:
Smart Money API支持企業級認證,包括OAuth 2.0、JWT、MFA和SAML集成。使用行業最佳實踐保護您的API集成。
查看企業計劃