接收密码变更通知¶
当用户在云防护平台修改或找回密码后,平台可以把最新密码推送到您的自有系统,避免两侧密码不一致导致一键登录失败。
适用场景¶
- 用户可能在用户中心改密或找回密码,您需要同步回自有平台。
- 您已按 自有平台接入一键登录 完成账号同步。
前提条件¶
- 已能登录代理商控制台。
- 已准备可被公网访问的回调 URL。
- 已准备一对 RSA 密钥:公钥交给平台,私钥留在自有系统用于解密
newPassword。
注意:这里配置的是您自己的公钥,与调用平台接口时使用的平台公钥不是同一把。
配置步骤¶
步骤一:打开个人中心¶
- 登录代理商控制台。
- 单击右上角用户名。
- 单击 个人中心。
页面会展示 RSA 公钥 和 密码变更通知地址。
步骤二:配置 RSA 公钥¶
- 在 RSA 公钥 区域单击 修改。
- 将 X509 格式公钥的 Base64 内容粘贴到输入框。请去掉
-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----。 - 可选:在「用于加密的字符串」中输入测试文本,单击 测试 RSA 公钥,确认加密结果可用您的私钥解开。
- 单击 确定。
保存成功后,再次打开该弹窗应能看到已保存的公钥。
步骤三:配置密码变更通知地址¶
- 在 密码变更通知地址 区域单击 修改。
- 填写完整回调地址,例如
https://{自有域名}/callback/password。 - 单击 确定。
保存成功后,个人中心会显示该地址。未配置地址时,平台不会发送通知。
通知请求¶
密码在平台落库成功后,若已配置通知地址,平台会异步发起 GET 请求,不等待您的响应。通知失败不影响用户改密结果。
字段含义¶
| 参数名称 | 类型 | 说明 |
|---|---|---|
| String | 用户邮箱,明文。未绑定邮箱时可能为空。 | |
| phone | String | 用户手机号,明文。未绑定手机号时可能为空。 |
| newPassword | String | 新密码明文经您配置的 RSA 公钥加密后的密文。算法为 PKCS#1,编码为 URL-Safe Base64。 |
实际请求形态¶
当前服务端按如下方式拼接 URL(email 与 phone 之间没有 &):
示例:
注意:控制台页面上的示例写成
?email=&newPassword=&phone=,与当前实现不一致。请按实际到达的 Query 解析:先读取newPassword,再从phone=后面的手机号。
请使用与配置到个人中心的公钥配对的私钥解密 newPassword。
接入方处理建议¶
- 对外网暴露的回调接口仅用于接收该通知。
- 从 Query 中取出
email、phone、newPassword。 - 用私钥解密
newPassword,得到明文密码。 - 按邮箱或手机号定位本地账号并更新密码。
- 尽快返回 HTTP 2xx。平台不会根据响应重试。
验证结果¶
- 确认个人中心已显示通知地址和 RSA 公钥。
- 在用户中心对该测试账号执行修改密码或找回密码。
- 自有回调接口收到
GET请求,且能解密出新密码。 - 使用更新后的密码调用 获取一键登录码 应返回
code为200。
常见问题¶
用户改密后没有收到通知¶
请确认个人中心已保存通知地址,且该地址可被公网访问。公钥格式不正确或加密失败时,平台只记录「发送失败」,改密仍然成功。
收到请求但无法解密 newPassword¶
请确认解密使用的是与个人中心公钥配对的私钥,而不是平台提供的那把公钥对应的密钥。
解析不到 phone 参数¶
当前实现把 email 与 phone 连在一起,标准 Query 解析可能把整段读进 email。请按上文「实际请求形态」拆分。