实现登录持久化(单点登录)
保持我登录状态 (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 匹配