可以用户登录后通过输入旧密码,再输入新密码的方式重置密码吗?
可以通过 PUT /1.1/users/:objectId/updatePassword 这个 API 在用户已登录且提供正确旧密码的前提下更新密码。详见文档:
PUT /1.1/users/:objectId/updatePassword
https://leancloud.cn/docs/rest_api.html#hash811143243
为确保安全,请在控制台 内建账户 > 设置 中勾选「重置密码时,必须提供旧密码」,否则恶意用户将可以通过自行构造请求来绕过「必须提供旧密码」这一限制以更新密码。
旧密码如何获取 为什么LCUser.currentUser().password是空的
为保障用户数据的安全,用户的密码会经过加密保存到数据库中(详见文档),并且应用是无法通过 SDK 获取到 password 字段的(详见文档)。上面的 API 已经包含了判断用户提供的旧密码是否正确的逻辑,应用自身无需再次比对。
password