登錄參數、簽名算法、回調字段和應用審核要求可能變化。接入前請向 Potato 獲取當前 SDK 與正式技術文檔。
標準授權流程
創建應用
登記應用名稱、域名、回調地址和支持信息。
發起授權
生成帶狀態參數的授權請求並跳轉到 Potato。
用户確認
向用户展示請求的信息與用途,由用户主動同意。
服務端驗證
驗證回調、交換憑證並建立你自己的登錄會話。
數據與權限範圍
只請求創建賬户、識別用户或完成當前業務必需的信息。不要把登錄授權解釋為獲取通訊錄、聊天內容或其他無關數據的許可。
- 在授權前説明數據用途與保存期限
- 為可選資料提供跳過或稍後補充
- 用穩定平台標識綁定本地賬户
- 提供解除綁定與刪除賬户入口
安全設計
- 使用精確匹配的 HTTPS 回調地址,禁止開放重定向。
- 使用隨機 state 或等效機制防止跨站請求偽造。
- 授權碼只在服務端交換,客户端密鑰不得暴露。
- 驗證簽名、簽發方、受眾、時間與重放風險。
- 為會話設置合理期限、撤銷能力和異常登錄通知。
不要信任前端直接傳來的用户資料。賬户建立和登錄成功必須以服務端完成的授權校驗為依據。
異常與賬户衝突
| 場景 | 建議處理 |
|---|---|
| 用户取消授權 | 返回原頁面並保留已填寫內容,不顯示為系統錯誤 |
| 狀態參數不匹配 | 終止登錄、清理臨時會話並記錄安全事件 |
| 授權碼過期或已使用 | 重新發起授權,不要重複交換 |
| 已存在同郵箱或手機號賬户 | 要求用户驗證原賬户後再綁定,禁止自動合併 |
| 平台服務暫不可用 | 顯示可重試提示並保留其他登錄方式 |
上線檢查
- 生產與測試應用、密鑰和回調完全隔離
- 隱私政策説明登錄數據和刪除方法
- 授權取消、超時和重複回調均已測試
- 支持解除綁定和賬户恢復
- 日誌不包含授權碼、令牌或完整個人資料
- 提供安全事件響應與密鑰輪換流程