實作登入保持(SSO)
保持我登錄 (SSO) 是一項功能,允許用戶在登錄其他需要網頁登錄的網站(例如同一項目中的社區或網絡商店)時,無需額外的網頁登錄來保持其登錄狀態。
Note
- 開發人員必須使用Hive網頁登錄提供的登錄驗證和用戶信息檢索的API響應來實現登錄保持(SSO)。
- 登錄保持(SSO)過程必須在**成功登錄驗證後,通過請求登錄驗證和用戶信息檢索 API來實現。**
維持登入(SSO)的條件¶
要實現維持登入(SSO)功能,必須滿足以下所有條件。
- 登入驗證成功
- 同一專案內的用戶已登入
- 擁有生成的 PlayerID 的用戶
實現保持登錄 (SSO)¶
保持我登录 (SSO) 功能可以按照以下顺序实现。
- 如果登录验证和用户信息检索 API 验证成功,则从响应中获取的 JWT (user_info.access_token) 值将传递给同一项目中需要网页登录的另一个网站。
- 接收站点使用公钥验证 JWT 的签名并检查过期时间。签名验证和时间检查的逻辑必须由接收站点的开发人员直接实现。
- 公钥可以通过在 Hive 控制台中搜索相应项目来检查 应用中心 > 安全密钥设置。
- 如果登录验证成功,则检查访问令牌 (JWT) 负载中的
user_id
(PlayerID) 以继续进行 SSO 登录处理。
要成功进行 SSO 登录处理,必须满足以下所有条件。- JWT 签名验证成功
- JWT 未过期
- JWT 负载中包含的 user_id (PlayerID) 与开发者存储的 PlayerID 匹配