如何解决完全RESTful注册,登录,注销,激活和重置密码API
我有以下API资源:
/managers
/managers/activate?activationToken=TOKEN
/managers/login
/managers/resetPassword
/managers
端点用于CRUD操作,还创建了一个新的Manager,然后通过电子邮件以/managers/activate?activationToken=TOKEN
的形式通过电子邮件发送激活链接,然后该资源返回“ Manager”的JSON对象表示形式带有将用于后续请求的身份验证令牌。
或者,/managers/login
端点接受一个管理器对象或查询参数(用户名和密码)进行登录(表示获得身份验证令牌)
响应如下:
{
"manager" : {
"entityId" : "0-1","authToken" : "THE_TOKEN"
}
}
如果管理员忘记了密码,则资源/managers/resetPassword
可用,并且HTTP GET传递到此端点,并将电子邮件地址和新密码作为有效负载传递,该资源将通过电子邮件发送密码重置链接,该链接看起来基本上是像这样:/managers/resetPassword?resetPasswordToken=TOKEN"
,当通过简单的HTTP GET访问时,它会触发密码更新,这特别有效,因为管理员在电子邮件中只需单击此按钮,默认情况下,浏览器在这种情况下就可以触发HTTP GET。 / p>
此系统有效,但它不是RESTful的,也就是说,它打破了基于“名词”的资源URI,并引入了诸如“登录”,“重置密码”和“激活”之类的动词,因此,这里的问题是我们如何做到这一点这样,它将完全基于RESTful和基于纯名词的URI。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。