工作原理
- 透過 REST API 的
POST /user/login,使用帳戶的使用者名稱(或電子郵件)和密碼登入。 - 在回應中收到一個令牌。它是一個 256 個字元的十六進位字串。
- 在每個 REST 請求和每次 WebSocket 握手中傳送該令牌。三套 API 接受同一個令牌。
- 登入
POST https://api.4casters.io/user/login
username 欄位既可以填使用者名稱,也可以填帳戶的電子郵件。
令牌位於回應主體的 data.user.auth。同一值也會被設為簽名的 auth Cookie;伺服器端整合應讀取 data.user.auth 並忽略該 Cookie。
- 傳送令牌
- REST API
- 訂單 WebSocket
- 推送 WebSocket
在 令牌缺失、未知或已過期時回傳
Authorization 請求標頭中傳遞令牌。Bearer 前綴可選。401,回應主體為 { "error": { "message": "InvalidCredentials", "code": 401 } }。令牌有效期
對於長期執行的整合,請選擇以下做法之一:
- **遇到任何
401就重新登入。**最簡單也最穩健。把401當作「去獲取新令牌」,而不是致命錯誤。 - **監聽
X-Auth-Token。**只要回應中出現該請求標頭,就持久化其值並從此使用它。
401 失敗。
雙重認證
4casters 的雙重認證保護的是提款,而不是登入。在帳戶上啟用它不會改變你對 API 的認證方式。POST /user/login 從不要求驗證碼。
登入錯誤
保護憑證安全
- 把使用者名稱和密碼存放在環境變數或金鑰管理器中,絕不要放進原始碼倉庫。
- 像對待密碼一樣對待令牌。持有它的任何人都能下單並讀取你的帳戶。
- 考慮為自動化交易使用專用帳戶,這樣洩露的機器人憑證不會危及你的主餘額。開設方式與任何使用者帳戶相同。