NATSotp.code.verify校验 OTP

校验用户提交的验证码;通过则消费挑战工单、签发已验证工单(verifyTicket),供下游(注册、绑定、登录)一次性使用。

Request Payload

消息格式:JSON

NameData TypeRequiredDescription
ticketIdstringYes挑战工单(code.request 返回)
codestringYes用户收到的验证码
type RequestBody = {
  /** 挑战工单(code.request 返回) */
  ticketId: string
  /** 用户收到的验证码 */
  code: string
}
{
  "ticketId": "cpt_7d92ab41e0583c6f",
  "code": "582914"
}

Response Payload

回复使用统一信封 {id, code, messages, result},其 result:

NameData TypeRequiredDescription
verifyTicketIdstringYes已验证工单(一次性,下游回源消费)
channelstringYes通道
targetstringYes验证目标
type ResponseBody = {
  /** 已验证工单(一次性,下游回源消费) */
  verifyTicketId: string
  /** 通道 */
  channel: string
  /** 验证目标 */
  target: string
}
{
  "verifyTicketId": "otv_8a24de63b917c05f",
  "channel": "email",
  "target": "chen.lin@example.com"
}

Response Code

回复使用统一信封 {id, code, messages, result},其 code 字段:

code Meaning Notes
0 成功 校验 OTP
2202 挑战工单无效
2203 验证码错误或已过期 单码最大校验次数用尽后作废,同样返回

Examples

{ "ticketId": "cpt_7d92ab41e0583c6f", "code": "582914" }
{
  "id": "01JD8SVCG8R4T1UQ",
  "code": 0,
  "messages": [],
  "result": {
    "verifyTicketId": "otv_8a24de63b917c05f",
    "channel": "email",
    "target": "chen.lin@example.com"
  }
}