一、接口描述
注意:新密码需符合当前应用关联的账号密码认证源的密码策略,且不能与策略中指定的前 N 次历史密码相同。
二、支持的应用类型
Web 应用、单页应用、移动 App。
三、请求方法
POST
四、请求路径
/reset_user_password
五、请求 Content-Type
application/json
六、请求示例
POST /reset_user_password HTTP/1.1Content-Type: application/jsonAuthorization: Basic VEVOQU5UX0NMSUVOVF9JRDpURU5BTlRfQ0xJRU5UX1NFQ1JFVA==Host: sample.portal.tencentciam.com{ "password" : "MOCK_PASSWORD", "email" : "MOCK_EMAIL@163.com", "email_otp" : "MOCK_EMAIL_OTP", "email_otp_token" : "MOCK_EMAIL_OTP_TOKEN"}
七、请求头
| 名称 | 描述 |
| Authorization | HTTP Basic 认证请求头,格式为 Basic <credentials>,其中 Basic 为固定字符串,<credentials>的计算方式为 base64(url_encode(client_id) + ":" + url_encode(client_secret)),Basic 和 <credentials> 之间用一个空格隔开。 |
八、请求体 JSON 参数
| JSON 路径 | 数据类型 | 描述 |
| client_id | String | 应用的 client_id。需要与发送验证码时使用的一致。 |
| client_secret | String | 应用的 client_secret。Web 应用须传递此参数。单页应用和移动 App 不传递此参数。 |
| password | String | 新密码。 |
| String | 用户的邮箱地址。发送邮箱 OTP 验证码时传递此参数。 | |
| email_otp_token | String | 发送邮箱验证码成功后服务端返回的 otp_token。 |
| email_otp | String | 用户邮箱收到的 OTP 验证码。 |
| phone_number | String | 用户的手机号。发送短信 OTP 验证码时传递此参数。 |
| phone_number_otp_token | String | 发送短信验证码成功后服务端返回的 otp_token。 |
| phone_number_otp | String | 用户手机收到的 OTP 验证码。 |
九、正常响应示例
重置密码成功。
HTTP/1.1 200 OK
十、异常响应示例
·新密码与历史密码相同。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "recurrent_password"}
·新密码不满足密码策略。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "invalid_new_password"}
·未找到与 email 对应的用户。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "user_not_found"}
·用户处于冻结状态,无法重置密码。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "abnormal_user_status","error_description" : "User is frozen."}
·email_otp_token 错误或已过期,或重置密码时使用的参数与发送验证码时不一致(例如:邮箱不同)。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "bad_email_otp_token"}
·email_otp 错误或已过期。
HTTP/1.1 400 Bad RequestContent-Type: application/json;charset=UTF-8{"error" : "bad_email_otp"}