UserInfoData

@Serializable
data class UserInfoData(val sub: String, val nickname: String? = null, val avatarUrl: String? = null, val email: String? = null, val name: String? = null, val username: String? = null, val updatedAt: Long? = null, val phoneNumber: String? = null)

用户信息数据 包含 OAuth 用户的基本信息

官方文档:vds-docs/VDS 账户/用户信息端点(UserInfo,account.sso.userinfo).md

字段说明(对应官方 API 响应字段):

  • sub: 用户唯一标识符

  • 对应 OpenID Connect 标准的 subject 字段

  • 格式如 "oauth|xxxxx"

  • nickname: 用户昵称(可选)

  • 用户在平台上显示的昵称

  • avatar_url: 用户头像 URL(可选)

  • 用户头像图片的完整 URL

  • email: 用户邮箱(可选)

  • 需要 user.email 权限才能获取

  • name: 用户姓名(可选)

  • 用户的真实姓名

  • username: 用户名(可选)

  • 用户的登录名或唯一用户名

  • updated_at: 用户信息更新时间戳(可选,毫秒)

  • 用户信息最后一次更新的时间

  • phone_number: 用户电话号码(可选)

  • 需要 user.phone 权限才能获取

响应示例:

{
"sub": "oauth|123456789",
"nickname": "FurryUser",
"avatar_url": "https://example.com/avatar.jpg",
"email": "user@example.com",
"name": "张三",
"username": "furryuser",
"updated_at": 1234567890000,
"phone_number": "+86 13800138000"
}

使用示例:

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

Constructors

Link copied to clipboard
constructor(sub: String, nickname: String? = null, avatarUrl: String? = null, email: String? = null, name: String? = null, username: String? = null, updatedAt: Long? = null, phoneNumber: String? = null)

Properties

Link copied to clipboard
@SerialName(value = "avatar_url")
val avatarUrl: String? = null

用户头像 URL

Link copied to clipboard
val email: String? = null

用户邮箱

Link copied to clipboard
val name: String? = null

用户姓名

Link copied to clipboard
val nickname: String? = null

用户昵称

Link copied to clipboard
@SerialName(value = "phone_number")
val phoneNumber: String? = null

用户电话号码

Link copied to clipboard
val sub: String

用户唯一标识符

Link copied to clipboard
@SerialName(value = "updated_at")
val updatedAt: Long? = null

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

Link copied to clipboard
val username: String? = null

用户名