---
title: "验证码登录"
method: POST
path: "/v1/account/login/code"
tags: ["AccountService"]
---

# 验证码登录

`POST /v1/account/login/code`

使用手机号或邮箱验证码登录；目标账号不存在时自动注册。
验证码最多允许 5 次错误尝试，超出后需重新发送。已开启 2FA 的账号返回 twoFaRequired=true 与 twoFaToken。

## Request body

- object
  - `code` string, required — 6 位数字验证码
  - `target` string, required — 手机号（type=phone）或邮箱地址（type=email）
  - `type` 'phone' | 'email', required — 验证码类型：phone 短信验证码 / email 邮箱验证码

## Response `200`

OK

- AccountV1LoginReply
  - `auth` AccountV1AuthTokens — AuthTokens 认证令牌信息
    - `accessToken` string — 访问令牌（30 分钟有效）
    - `expiresAt` string, date-time — access_token 过期时间
    - `refreshToken` string — 刷新令牌（普通登录默认 72 小时；rememberMe 有效期由后台设置控制）
    - `tokenType` string — 令牌类型，固定为 "Bearer"
  - `twoFaRequired` boolean — 是否需要二步验证（true 时 auth 为空）
  - `twoFaToken` string — 临时 token，用于后续 Verify2FA（two_fa_required=true 时有效）
  - `user` AccountV1UserInfo — UserInfo 用户基本信息
    - `accountType` integer — 账号类型：1=客户C端 2=员工B端 3=代理商 4=企业管理员 5=企业成员
    - `allowTokenBindSource` boolean — 是否允许该用户的令牌绑定渠道资源（默认关闭）
    - `avatarUrl` string
    - `createdAt` string, date-time
    - `email` string
    - `inviteCode` string — 用户专属邀请码
    - `locale` string
    - `nickname` string
    - `permissions` string[]
    - `phone` string — 个人资料扩展
    - `realnameRequired` boolean — 当前登录场景下是否必须完成个人实名认证；企业认证通过不再豁免企业管理员本人，后端按实名状态和场景统一计算。
    - `realnameStatus` string — 个人实名认证状态：unverified / processing / verified。
    - `registeredAt` string, date-time — 注册时间
    - `timezone` string
    - `twoFaEnabled` boolean
    - `userId` string
    - `username` string

---

[API](https://skmtc.dev/apiqik/apis/apiqik-api.md) · [All operations](https://skmtc.dev/apiqik/apis/apiqik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apiqik/apiqik-api/revisions/e06b96127408/schema)
