开发 开放能力 小游戏登录指南
# 小游戏登录指南
更新时间:2024-07-23 11:06:59
快手为小游戏开发者提供了一系列接口,方便开发者快速获取用户身份标识,建立小游戏内的账号体系。
# 名词解释
登录流程中涉及的相关名词解释如下:
名词 | 解释 | 获取方式 | 有效期 |
---|---|---|---|
app_id | 小游戏唯一标识 | 从快手开放平台获取 | 不变 |
app_secret | 小游戏密钥 | 从快手开放平台获取 | 不变 |
code | 临时登录凭证 | 小游戏前端调用 ks.login 获取 | 只能使用一次 |
open_id | 用户唯一身份标识 | 小游戏服务器从快手服务器获取 | 单个小游戏内不变 |
session_key | 会话密钥 | 小游戏服务器从快手服务器获取,用于后续接口签名和校验数据完整性使用 | 由快手服务器维护,与用户使用该小游戏频率有关,使用越频繁有效期越长 |
自定义登录态 | 小游戏登录态,区别于快手登录态 | 小游戏服务器自己定义生成,与 open_id 关联 |
# 时序图
登录流程时序图如下:

# 说明
- 小游戏服务器应妥善保管 session_key,勿将该字段下发至小游戏前端,避免会话密钥泄露,保证数据安全;此外小游戏前端调用 ks.login 接口会导致 session_key 被刷新,存储在小游戏服务端的旧 session_key 失效,所以前端应谨慎判断调用 ks.login 的时机;
- 每个快手用户在单个小游戏内 open_id 始终不变,小游戏服务器可据此生成自定义登录态,用于后续业务中前后端交互时识别用户身份;
- 临时登录凭证 code 仅单次有效,且有有效期限制,小游戏服务器收到后应及时调用登录凭证校验接口 auth.code2session 换取 open_id 和 session_key 。
- ks.login 的调用时机:在游戏本地存在自定义登录态时,可以直接使用自定义登录态发起业务请求,当自定义登录态失效时才需要重新调用 ks.login ,调用流程伪代码如下:
if (自定义登录态有效){
发起业务请求 // 携带自定义登录态
} else {
// 先通过登录流程获取自定义登录态,再发起业务请求
ks.login({
success : function(res) {
通过游戏服务器获取自定义登录态 // 携带 res.code
发起业务请求 // 携带自定义登录态
},
fail : function() {
//错误处理
}
});
}
- ks.checkSession 的调用时机:游戏需要使用登录态签名时,需在调用相关接口前确保 ks.checkSession 调用成功,调用流程伪代码如下:
ks.checkSession({
success: function(){
// 发起携带登录态签名的请求,比如 ks.getUserInfo
},
fail: function(){
// 错误处理
}
})
# 客户端接口
# ks.login(Object object)
# ks.checkSession(Object object)
# 服务端接口
# auth.code2Session
上一篇:《视频播放》
下一篇:《UnionID》
仍有疑问? 前往社区提问