跳到主要内容

修改密码

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​

A successful response.

Response Headers