getUserInfo

suspend fun getUserInfo(): UserInfoData

获取用户信息 获取当前 OAuth 认证用户的详细信息

端点:GET /api/proxy/account/sso/userinfo 官方文档:VDS 账户/用户信息端点(UserInfo,account.sso.userinfo).md

重要说明:

  • OAuth access_token 仅用于此接口(getUserInfo),其他接口使用签名交换的 token

  • 此接口使用 X-OAuth-Access-Token + Authorization 双 header 认证

  • X-OAuth-Access-Token: OAuth access_token(必需,用于标识用户身份)

  • Authorization: Bearer <开放平台签名>(可选,当 config.apiKey 不为空时用于验证应用身份)

支持两种认证场景:

  • 场景 A:有开放平台签名(config.apiKey 不为空)- 使用双 header(Authorization + X-OAuth-Access-Token)

  • 场景 B:纯 OAuth(config.apiKey 为空)- 只使用 X-OAuth-Access-Token header

响应字段说明:

  • sub: 用户唯一标识符

  • nickname: 用户昵称

  • avatarUrl: 用户头像 URL

  • email: 用户邮箱

  • name: 用户姓名

  • username: 用户名

  • phoneNumber: 用户电话号码

  • updatedAt: 用户信息更新时间戳(毫秒)

示例:

val userInfo = authManager.getUserInfo()
println("用户昵称:${userInfo.nickname}")
println("用户 ID: ${userInfo.sub}")

Return

UserInfoData 用户信息数据,包含用户的基本资料

Throws

当认证失败或令牌无效时抛出