简单的RESTful API身份验证

时间:2015-02-16 12:03:53

标签: api rest authentication single-page-application restful-authentication

我正在构建一个完全基于RESTful API的单页Web应用程序。我已经看过几个关于这个问题的话题,但有些事情对我来说还不清楚。

我需要用户登录。以下是我的一些想法:

  1. 我可以向API发送电子邮件和密码并使用基本身份验证。我不确定我应该在哪里保存密码是否应该加密,如果是这样的话:如何?
  2. 我可以使用内置会话系统吗?在RESTful API中直接使用 cookies 是错误的吗?为什么将凭证/密钥发送到API本身而不是使用cookie如此受欢迎?
  3. 我考虑过每个用户一个API密钥,在登录操作中返回它并将其保存在localStorage中。我想每个用户只有一个密钥并不是最好的主意吗?
  4. 然后,我想出了单独keys并在每次有人登录时添加随机密钥。在注销时,密钥会消失,不再有效。这比以前的想法更安全。
  5. 如何在简单的项目中解决?我想把它变得简单,但不要太荒谬。

    请帮忙。

1 个答案:

答案 0 :(得分:1)

通常的方法是在REST中使用头文件Authorization。应用程序的状态必须在客户端使用REST,并且不应该绑定到特定的客户端类型(带有cookie的浏览器)

我认为这个链接可能有所帮助:

此处还有一个很好的问题:https://softwareengineering.stackexchange.com/questions/141019/should-cookies-be-used-in-a-restful-api

希望它有所帮助, 亨利