简单RESTfulAPI认证

Simple RESTful API authentication

我正在构建一个单页 Web 应用程序,完全基于 RESTful API。我已经看到了这方面的几个主题,但有些事情对我来说仍然不清楚。

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

  1. 我可以将电子邮件和密码发送到 API 并使用基本身份验证。我不确定我应该在哪里保存密码是否应该加密,如果是:如何?
  2. 我可以改用内置会话系统吗?在RESTfulAPI中直接使用cookies不对吗?为什么将 credentials/keys 发送到 API 而不是使用 cookie 如此流行?
  3. 我考虑过让每个用户 一个 API 密钥 ,return 在登录操作中将其保存在 localStorage 中。我想每个用户只有一把钥匙不是最好的主意?
  4. 然后,我想到了 分开 keys table 并在每次有人登录时添加随机密钥。注销时,密钥会消失,不再有效。这比以前的想法更安全。

在简单的项目中是如何解决的?我想让它变得简单但又不至于荒唐可笑。

请帮忙。

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

我认为这个 link 可能会有帮助:

这里还有一个类似问题的好问题:https://softwareengineering.stackexchange.com/questions/141019/should-cookies-be-used-in-a-restful-api

希望对您有所帮助, 蒂埃里