验证短信、邮箱验证码
POST/auth/v1/verification/verify
接口说明
验证码验证接口,用于验证手机号或邮箱收到的验证码是否正确,返回verification_token用于后续登录或注册操作
功能特性
- 支持手机号验证码验证
- 支持邮箱验证码验证
- 返回verification_token用于后续身份验证流程
- 验证码有效期为600秒(10分钟)
入参要求
必需参数
verification_id: 验证码id(必填,从发送短信、邮箱验证码接口的响应中获取)verification_code: 验证码(必填,手机或邮箱收到的验证码)
可选参数
client_id: 应用对应的客户端id(可选,默认为环境id)x-device-id: 设备id(可选,当前登录设备的id)
前置条件
- 需要先调用发送短信、邮箱验证码接口获取验证码
- 验证码必须在有效期内(默认600秒)
- verification_id必须与发送验证码时返回的id一致
出参说明
成功响应
verification_token: 验证码token,用于后续登录或注册接口expires_in: 过期时间,默认600秒
请求示例
验证码验证请求示例
POST /auth/v1/verification/verify
Content-Type: application/json
{
"verification_id": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ",
"verification_code": "123456"
}
响应示例
验证码验证成功响应
{
"verification_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ",
"expires_in": 600
}
验证码验证失败响应
{
"error": "invalid_verification_code",
"error_code": 4001,
"error_description": "验证码错误,请重新输入"
}
使用流程
1. 发送验证码
- 调用发送短信或邮箱验证码接口
- 获取verification_id和验证码
2. 用户输入验证码
- 用户从手机或邮箱获取验证码
- 在客户端输入验证码
3. 验证验证码
- 调用此接口验证验证码
- 获取verification_token
4. 使用验证token
- 使用verification_token调用登录或注册接口
关键特性
安全性
- 验证码有效期短,防止暴力破解
- verification_id与验证码绑定,防止重放攻击
- 支持验证码错误次数限制
兼容性
- 支持手机号和邮箱验证码
- 验证码格式为6位数字
- 国际化支持,支持不同国家手机号格式
错误处理
- 验证码错误时提供明确错误信息
- 验证码过期时提示重新获取
- 验证码id不存在时提示重新发送验证码
注意事项
安全建议
- 验证码不应在客户端存储
- 验证码发送频率应有限制
- 建议实现验证码错误次数限制
使用场景
- 登录时验证身份
- 注册时验证手机号或邮箱
- 修改敏感信息时二次验证
- 找回密码时身份验证
相关接口
- 发送短信、邮箱验证码 - 获取验证码
- 登录接口 - 使用verification_token登录
- 注册接口 - 使用verification_token注册
Request
- application/json
Body
verification_id 验证码id (string)required
从发送短信、邮箱验证码接口的响应中获取
verification_code 验证码 (string)required
手机或邮箱收到的验证码,过期时间默认为600秒
Responses
- 200
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
verification_token 验证码token (string)
在使用手机号+验证码或邮箱+验证码登录时,传入用户名密码登录/auth/v1/signin接口登录
expires_in 过期时间 (integer)
默认600秒
{
"verification_token": "string",
"expires_in": 0
}
Loading...