Skip to content

用户认证

文档概述

本文档主要描述 APP 接入 SUD OP 认证的完整流程,包括各参与方的交互步骤、接口调用说明及核心字段定义,帮助开发者快速完成 SUD OP 认证的接入开发。

参与方说明

  • APP: 应用客户端
  • SUD OP: 集成在客户端内的通信中间件
  • Game: 游戏客户端
  • Game SVR: 游戏的服务端
  • SUD OP SVR: SUD 的服务端(核心凭证流转与校验中枢)
  • APP SVR: 应用的服务端

认证流程详情

整体流程时序

步骤拆解

步骤1:APP 向自有服务端生成用户签名

  • 调用方向:APP → APP SVR
  • 接口名称:generateUserSignature
  • 请求参数:APP's Login Token(APP 自身登录态的 Token,用于服务端校验用户身份)
  • 响应参数:userSignature(用户签名,用于后续向 SUD OP 发起认证)
  • 核心说明:此步骤由接入方自有服务端完成签名生成,需保证签名的唯一性和安全性,签名需能标识用户身份且防篡改。

步骤2:APP 向 SUD OP 发起认证请求

  • 调用方向:APP → SUD OP
  • 接口名称:auth
  • 请求参数:userSignature(步骤1生成的用户签名)
  • 核心说明:APP 携带合法的用户签名,向 SUD OP 客户端服务发起认证申请。

步骤3:SUD OP 向 SUD 服务端校验用户身份

  • 调用方向:SUD OP → SUD SVR
  • 接口名称:authAppUser
  • 请求参数:userSignature(APP 传入的用户签名)
  • 核心说明:SUD OP 客户端将用户签名透传给 SUD 服务端,由服务端完成签名的合法性校验。

步骤4:SUD 服务端生成认证凭证

SUD SVR 在校验 userSignature 合法后,执行以下操作:

  1. 基于 userSignature 生成 userToken(用户在 SUD 体系的身份凭证);
  2. 基于 userSignature 生成 AppUnionID(用户在 SUD 体系的唯一标识);
  3. 生成 refreshToken(用于刷新 userToken)和 expiresIn(userToken 过期时间,单位:秒)。

步骤5:SUD 服务端返回认证凭证给 SUD OP

  • 调用方向:SUD SVR → SUD OP
  • 响应参数:userToken、refreshToken、expiresIn

步骤6:SUD OP 返回认证结果给 APP

  • 调用方向:SUD OP → APP
  • 响应结果
    • SUCCESS:认证通过(底层已获取到 userToken 等凭证);
    • FAILED:认证失败(签名不合法/过期等)。

核心字段说明

字段名类型说明
APP's Login TokenStringAPP 自身登录体系的用户 Token,用于 APP SVR 校验用户身份
userSignatureStringAPP SVR 生成的用户签名,需具备唯一性和防篡改性
userTokenStringSUD 体系的用户身份凭证,用于后续访问 SUD 相关服务
refreshTokenString用于刷新过期的 userToken
expiresInIntuserToken 的过期时间(单位:秒)
AppUnionIDString用户在 SUD 体系中的唯一标识,可用于跨应用关联用户

异常处理说明

  1. 若步骤1中 APP SVR 校验 Login Token 失败,需返回错误给 APP,终止认证流程;
  2. 若步骤3中 SUD SVR 校验 userSignature 不合法(如签名过期、签名伪造),SUD OP 向 APP 返回 FAILED;
  3. 若网络异常导致某一步骤请求超时,建议 APP 增加重试机制(需注意重试次数,避免频繁请求)。

接入注意事项

  1. userSignature 的生成规则需由 APP 侧自定义,建议采用「非对称加密+时间戳+随机串」的方式,提升安全性;
  2. userToken 为敏感凭证,APP 需加密存储,避免明文传输和存储;
  3. 需监听 userToken 的过期状态,在过期前通过 refreshToken 调用 SUD 接口刷新 Token;
  4. 所有接口调用建议使用 HTTPS 协议,防止数据被篡改或窃取。