實作登入保持(SSO)
保持我登錄 (SSO) 是一項功能,允許用戶在登錄其他需要網頁登錄的網站(例如同一項目中的社區或網絡商店)時,無需額外的網頁登錄來保持其登錄狀態。
Note
- 開發人員必須使用Hive網頁登錄提供的登錄驗證和用戶信息檢索的API響應來實現登錄保持(SSO)。
- 登錄保持(SSO)過程必須在**成功登錄驗證後,通過請求登錄驗證和用戶信息檢索 API來實現。**
維持登入(SSO)的條件¶
要實現維持登入(SSO)功能,必須滿足以下所有條件。
- 登入驗證成功
- 同一專案內的用戶已登入
- 擁有生成的 PlayerID 的用戶
實現保持登錄 (SSO)¶
保持我登錄 (SSO) 功能可以按照以下順序實現。
- 如果登錄驗證和用戶信息檢索 API 驗證成功,則從回應中取得的 JWT (user_info.access_token) 值將傳遞給同一專案中需要網頁登入的另一個網站。
- 接收端網站使用公鑰驗證 JWT 的簽名並檢查過期時間。簽名驗證和時間檢查的邏輯必須由接收端網站的開發商直接實現。
- 公鑰可以通過在 Hive 控制台中搜尋相應專案,於 應用中心 > 安全金鑰設定 中查看。
- 如果登錄驗證成功,則檢查存取權杖 (JWT) Payload 中包含的
user_id(Player ID),以繼續進行 SSO 登入處理。
若要成功完成 SSO 登入處理,必須滿足以下所有條件。- JWT 簽名驗證成功
- JWT 未過期
- JWT Payload 中包含的 user_id (PlayerID) 與開發商儲存的 PlayerID 一致