RESTful API:如何建模“请求新密码”?

时间:2010-04-21 14:00:16

标签: api rest

我正在为预订应用程序设计RESTful API,并且很高兴看到我可以将应用程序的所有细节映射到4种HTTP方法。

/users - GET, POST
/users/({id}|myself) - GET, POST, PUT, DELETE
/users/({id}|myself)/bookings - GET, POST
/users/({id}|myself)/bookings/{id} - GET, POST, PUT, DELETE

示例:更新我自己的用户使用PUT到/ users /我。

但现在我发现缺少一件事:如果我忘记了旧密码,可以申请新密码。知道如何添加这个吗?

3 个答案:

答案 0 :(得分:3)

由于该操作本质上是一个更新 - 将生成一个新密码 - 我会使用POST动词。您必须找出另一种提供密码的方法,除非您已经根据共享机密安排了一些质询/响应协议,可以在没有密码的情况下验证请求者。最简单的方法可能是通过电子邮件向用户发送记录帐户,其中包含可用于实现更改并显示其新密码的链接。

答案 1 :(得分:2)

假设通过请求新密码,您指的是系统分配新临时密码然后允许用户重置密码的典型操作,我会按照以下方式进行操作:

POST:/ users / myself / resetPassword

然后返回临时密码,向用户发送电子邮件或将新临时密码传递给用户的其他方法。

答案 2 :(得分:1)

/users/({id}|myself)/forgottenpassword/, GET or PUT

或者只是通过某种方式告诉用户访问该网站。