【发布时间】:2011-11-22 17:58:27
【问题描述】:
我想通过 REST API 更改用户密码。这不是忘记或重置密码功能,而是登录用户想要更改密码。
该表单需要当前密码、新密码和对新密码的确认。但是,我想在用户填写时验证每个表单字段。这对于newPassword 和confirmNewPassword(客户端)来说是微不足道的,但对于currentPassword 来说却不是。目前正在通过PUT /users/:id 更新用户对象。如果传递了密码参数,我会检查currentPassword 参数并确保在保存之前它是正确的。但是,为了验证,我不确定最好的方法。
我也有一个POST /users/validate - 也不确定这是否是最好的。这将验证用户对象的创建和更新,但仅验证属于用户对象的字段(email、username、password)。 currentPassword 不是其中之一。想知道如何处理这个问题。我考虑过的一些事情:
POST /users/check_password,
POST /users/validate(如果传递了该参数,则添加对 currentPassword 的验证,并检查 currentPassword 是否与用户现有密码匹配)和
POST /users/:id/validate(现有用户单独验证,需要currentPassword)。
任何想法或建议将不胜感激。我的第一个仅通过 REST API 公开功能的应用程序。
【问题讨论】:
标签: validation rest restful-url restful-architecture