简单RESTfulAPI认证
Simple RESTful API authentication
我正在构建一个单页 Web 应用程序,完全基于 RESTful API。我已经看到了这方面的几个主题,但有些事情对我来说仍然不清楚。
我将需要用户登录。以下是我的一些想法:
- 我可以将电子邮件和密码发送到 API 并使用基本身份验证。我不确定我应该在哪里保存密码,是否应该加密,如果是:如何?
- 我可以改用内置会话系统吗?在RESTfulAPI中直接使用cookies不对吗?为什么将 credentials/keys 发送到 API 而不是使用 cookie 如此流行?
- 我考虑过让每个用户 一个 API 密钥 ,return 在登录操作中将其保存在 localStorage 中。我想每个用户只有一把钥匙不是最好的主意?
- 然后,我想到了 分开
keys
table 并在每次有人登录时添加随机密钥。注销时,密钥会消失,不再有效。这比以前的想法更安全。
在简单的项目中是如何解决的?我想让它变得简单但又不至于荒唐可笑。
请帮忙。
通常的做法是在 REST 中使用 header 授权。应用程序的状态必须在具有 REST 的客户端,并且不应该绑定到特定的客户端类型(带有 cookie 的浏览器)
我认为这个 link 可能会有帮助:
- 使用令牌为 RESTful 应用程序实施身份验证:https://templth.wordpress.com/2015/01/05/implementing-authentication-with-tokens-for-restful-applications/
这里还有一个类似问题的好问题:https://softwareengineering.stackexchange.com/questions/141019/should-cookies-be-used-in-a-restful-api
希望对您有所帮助,
蒂埃里
我正在构建一个单页 Web 应用程序,完全基于 RESTful API。我已经看到了这方面的几个主题,但有些事情对我来说仍然不清楚。
我将需要用户登录。以下是我的一些想法:
- 我可以将电子邮件和密码发送到 API 并使用基本身份验证。我不确定我应该在哪里保存密码,是否应该加密,如果是:如何?
- 我可以改用内置会话系统吗?在RESTfulAPI中直接使用cookies不对吗?为什么将 credentials/keys 发送到 API 而不是使用 cookie 如此流行?
- 我考虑过让每个用户 一个 API 密钥 ,return 在登录操作中将其保存在 localStorage 中。我想每个用户只有一把钥匙不是最好的主意?
- 然后,我想到了 分开
keys
table 并在每次有人登录时添加随机密钥。注销时,密钥会消失,不再有效。这比以前的想法更安全。
在简单的项目中是如何解决的?我想让它变得简单但又不至于荒唐可笑。
请帮忙。
通常的做法是在 REST 中使用 header 授权。应用程序的状态必须在具有 REST 的客户端,并且不应该绑定到特定的客户端类型(带有 cookie 的浏览器)
我认为这个 link 可能会有帮助:
- 使用令牌为 RESTful 应用程序实施身份验证:https://templth.wordpress.com/2015/01/05/implementing-authentication-with-tokens-for-restful-applications/
这里还有一个类似问题的好问题:https://softwareengineering.stackexchange.com/questions/141019/should-cookies-be-used-in-a-restful-api
希望对您有所帮助, 蒂埃里