docs icon indicating copy to clipboard operation
docs copied to clipboard

求补充 /resetPassword 的文档

Open jysperm opened this issue 9 years ago • 3 comments

在控制台「应用设置」->「邮件模板」->「自定义重置密码页面」处下载的 reset.html 中有一段 JavaScript 代码请求了这个接口,但这个接口并没有被写在 Restful API 文档中:

$.jsonp({
  url:"/1/resetPassword/"+token,//如果页面运行在自己的服务器,需要写定一个绝对 URL,类似 "https://api.leancloud.cn/1.1/resetPassword/"
  data:{"password":p.val()},
  callbackParameter: "callback",
  cache: false,
  success:function(result){
    $("#error").show();//成功和失败都会有提示信息, 共用 #error
    if(result.error){
      $("#error").text(result.error);
    }else{
      $("#error").text("密码重置成功");
    }
  },
  error:function(result,text){
    $("#error").text("服务器发生错误");
  }
});

jysperm avatar May 05 '16 10:05 jysperm

和这个 /resetPassword 类似的还有一个 /verifyEmail 的 undocumented API。 这两个 API 提供了基于 token 重设密码和验证邮箱的能力。

/verifyEmail 为例,调用 requestEmailVerify 后,用户邮箱会收到一封邮件,邮件内容由邮件模板定义,其中的 link 变量是点击验证邮箱的链接,如 https://leancloud.cn/verify.html?token=TOKEN

凭此 TOKEN 可以直接通过 REST API 完成邮箱验证:

POST /1.1/verifyEmail/TOKEN

REST API 会返回:

{
  "updatedAt": "时间戳",
  "objectId": "该用户的 objectId"
}

然而要利用这个能力,需要用户从邮件中的链接中找到 TOKEN 部分,然后通过某种开发者设计的方式完成验证/重置,比如在某个文本框内输入 TOKEN。

如果想把这两个 API 开放给开发者用,邮件模板里需要提供一个 {{token}} 变量。

@jysperm @paomian

weakish avatar Mar 22 '19 10:03 weakish

话说这两个 API 为什么没直接封装成 SDK 里的方法呀?

ghost avatar Jul 26 '19 10:07 ghost

@shifuchen98 好提议,其实可以封装到云引擎 SDK 里

weakish avatar Dec 31 '19 08:12 weakish