API 文件總覽
串串通提供以 OAuth 2.0 授權碼流程為核心的身份驗證與授權 API,適合用於 A 網站作為身份提供者(Identity Provider),由 B 網站進行前端導向與後端交換,取得終端用戶唯一識別資料。
標準整合流程
- 開發者於後台建立新的 App,取得 Client ID 與 Client Secret。
- 在 App 設定中填入正確的 Callback URL,確保與 B 網站實際回呼位址完全一致。
- B 網站將使用者導向 `/oauth/authorize/`,並帶入 `client_id`、`redirect_uri` 與 `state`。
- 使用者在串串通完成登入或驗證後,系統會產生授權碼 `code`,並重新導向回 B 網站。
- B 網站後端呼叫 `/oauth/token/`,帶入 `client_id`、`client_secret` 與 `code` 交換用戶識別資料。
授權端點
GET /oauth/authorize/
用途:將使用者導向串串通授權頁,完成登入與授權確認。
必要參數:`client_id`、`redirect_uri`。建議同時帶入 `state` 以防止 CSRF 與流程混淆。
Token 換取端點
POST /oauth/token/
用途:由 B 網站後端以授權碼換取該用戶在串串通上的唯一識別資料。
必要參數:`client_id`、`client_secret`、`code`。
Email 驗證碼 API
POST /api/send-code/ 用於發送 Email 驗證碼。POST /api/verify-code/ 用於驗證用戶輸入的 6 位數驗證碼。系統已內建防刷機制,包括同 Email 60 秒內限制與單日發送上限。
回應資料說明
`/oauth/token/` 成功後會回傳 `open_id`、`email`、`user_id` 與 `client_id` 等資料。建議 B 網站以 `open_id` 或 Email 作為會員比對依據,並在本地建立自己的會員資料表同步邏輯。
安全建議
- 請務必使用 HTTPS 傳輸敏感資料與授權流程。
- Client Secret 只應保存在 B 網站後端,不可暴露於前端程式碼。
- 請嚴格比對回呼網址,避免未授權的導向與資料交換。
- 建議所有交換流程都由後端進行,不要在前端直接呼叫敏感 API。