修改密码
PATCH/auth/v1/user/password
接口说明
修改当前用户的密码,需要先通过重新认证接口发送验证码进行二次验证才能执行。该操作用于用户修改自己的登录密码,需要二次验证确保安全性。
功能特性
- 修改当前用户的登录密码
- 需要通过重新认证接口发送验证码进行二次验证
- 支持密码强度验证
- 修改后旧密码立即失效
- 自动退出其他设备登录
入参要求
必需参数
Authorization: 当前登录用户的access_token(必填,Bearer格式)client_id: 应用对应的客户端id(可选,默认为环境id)x-device-id: 设备id(可选,当前登录设备的id)
请求体参数
old_password: 旧密码(可选,如果用户有密码)new_password: 新密码(必填,8-64位,包含大小写字母、数字、特殊字符)confirm_password: 确认密码(可选,用于前端验证)verify_code: 验证码(必填,通过重新认证接口发送到用户手机或邮箱的验证码)
前置条件
- 用户必须已登录并持有有效的access_token
- 必须通过重新认证接口发送验证码并完成验证
- 验证码有效期为300秒(5分钟)
- 新密码必须符合密码强度要求
- 如果用户已有密码,需要提供旧密码验证
出参说明
成功响应
- 返回空对象,表示密码修改成功
请求示例
修改密码请求示例(有旧密码)
PATCH /auth/v1/user/password
Authorization: Bearer your_access_token
Content-Type: application/json
{
"old_password": "your-password",
"new_password": "your-new-password",
"confirm_password": "your-new-password",
"verify_code": "101894"
}
修改密码请求示例(无旧密码,首次设置)
PATCH /auth/v1/user/password
Authorization: Bearer your_access_token
Content-Type: application/json
{
"new_password": "your-password",
"confirm_password": "your-password",
"verify_code": "101894"
}
响应示例
修改成功响应
{}
旧密码错误响应
{
"error": "invalid_password",
"error_code": 4003,
"error_description": "旧密码错误,请重新输入"
}
密码强度不足响应
{
"error": "weak_password",
"error_code": 4005,
"error_description": "密码强度不足,请使用包含大小写字母、数字和特殊字符的组合"
}
使用流程
1. 发起重新认证
- 调用重新认证接口发送验证码
- 选择短信或邮箱方式接收验证码
2. 用户收到验证码
- 用户在手机或邮箱中查看验证码
- 验证码有效期为300秒(5分钟)
3. 验证密码规则
- 前端验证新密码强度
- 确认密码一致性
- 检查密码历史记录
4. 执行修改
- 调用此接口修改密码
- 在请求体中传入verify_code(用户收到的验证码)进行二次验证
5. 处理结果
- 修改成功提示用户
- 错误时显示具体原因
- 自动退出其他设备登录
关键特性
安全性
- 需要验证码二次验证
- 密码强度自动检测
- 防止密码重复使用
- 自动退出其他设备
密码规则
- 至少8个字符,最多64个字符
- 包含大写字母、小写字母、数字、特殊字符
- 不包含用户名或邮箱地址
- 不使用连续或重复字符
注意事项
常见错误场景
- 验证码过期:提示用户重新发送验证码
- 旧密码错误:显示具体错误信息
- 密码强度不足:提供密码规则说明
- 网络异常:重试机制
相关接口
Request
Responses
- 200
- 500
A successful response.
Response Headers
An unexpected error response.