用户信息获取
用户信息指用户的昵称、头像等个人信息,以及手机号、实名信息等敏感信息。OpenPaaS 按数据敏感度把它分成两级,分别对应两个接口。
| 级别 | 接口 | 返回内容 | 是否需要服务端参与 |
|---|---|---|---|
| 基础信息 | sud.getUserInfo | 昵称、头像 | 否,客户端直接使用 |
| 敏感信息 | sud.getUserProfile | 加密并签名后的密文 | 是,必须由 Game SVR 验签并解密 |
接口签名、回调参数与示例代码见 用户信息 API。
基础信息
sud.getUserInfo() 返回公开的基础信息(昵称、头像)。此类数据即使被截获也不会造成核心资产泄漏,因此没有加密流程,链路极短,客户端拿到后可直接用于 UI 展示。
用户授权状态由 SUD OP 在平台内部完成校验,游戏侧不需要自行创建授权按钮或查询授权状态。如果用户尚未授权,应先通过用户主动操作完成授权。
昵称与头像可能被用户修改。若需要长期展示,应在 Game SVR 落库,并在使用前重新获取,不要一次缓存后不再更新。
敏感信息
sud.getUserProfile() 返回经当前会话 session_key 加密和签名后的敏感数据(手机号、实名信息等)。客户端拿到的是密文,无法解密,必须把 rawData、encryptedData、iv、signature 原样提交给 Game SVR,由 Game SVR 使用登录阶段保存的同一个 session_key 完成验签与解密。
算法规范、Game SVR 侧的解密顺序与异常阻断要求见用户敏感数据获取与开放数据校验与解密。
推荐的使用方式
- 先完成登录,取得
code并由 Game SVR 换取会话信息,见登录态管理。 - 只需要昵称头像时调用
sud.getUserInfo(),不必引入服务端加解密链路。 - 确实需要手机号、实名等敏感字段时才调用
sud.getUserProfile(),并遵循最小化原则:只获取和保存当前业务明确需要、且用户已经授权的字段。 - 完整链路与可复制的编排代码见登录与用户信息获取流程。
