我正在尝试使用Recess开发一个简单的 Web 服务,这是一个旨在易于使用且本质上是 RESTful 的 Web 框架。我发现在 Recess 中使用 CRUD 功能非常容易。我在 MySQL 数据库中创建了一个带有后端的模型,并发现已经可以使用 REST API。
这很好,但问题是我没有用户身份验证,这几乎使我上面描述的非常好的功能完全无用。在现实世界的应用程序中,访问特定于用户的资源需要身份验证。例如,假设我正在开发一个简单的“待办事项”应用程序(顺便说一句,我不是)。用户对其待办事项列表中的其他人不感兴趣,因此服务需要识别用户是谁,以便提供正确的数据。此外,不应允许用户读取、删除或更新其他人的资源。
这通常通过登录系统完成。但是对于 REST API,用户如何进行身份验证?每次发出请求时,客户端是否需要提供用户的凭据(如用户名和密码)?怎么能避免呢?通常,可以使用 cookie,但这可能不是一种好的做法,因为并非所有客户端都必须是 Web 浏览器。但是,如果我们要模拟 cookie 的功能,我们如何传输“cookie”内容(通常,这是在 HTTP 标头中完成的)?最后,如何将这些问题的解决方案集成到 Recess 的内置 REST 功能中?
如您所见,我对开发 REST API 还很陌生,因此欢迎任何建议和指点。