【发布时间】:2012-11-04 03:14:58
【问题描述】:
根据@Veraticus 对此question 的回答,Web 身份验证框架将 current_user 的 ID 保存在 会话 ID 中,以便快速轻松地从数据库中检索用户(无需获取用户每次都对数据库进行新查询)。
这很棒,因为这正是我想通过我正在编写的 API 对我自己的服务器执行的操作(出于性能原因)。
但我想知道 session id...我的意思是,如果服务器处理会话,客户端必须向他提供 session id。
不过,我还想知道另一件事:一般来说,Web API 使用 API 密钥(例如,https://api-docs.heroku.com/)。并且使用 API 密钥 和 session id 对于客户端来说可能很复杂...
我希望 Heroku 不会在每个 HTTP 请求中使用收到的 auth-token 执行数据库查询。但如果他们不这样做,他们如何在没有其会话 id 的情况下对用户进行身份验证?
我很困惑。非常感谢您的任何想法。
【问题讨论】:
-
@sergio-tulentsev:为了在第一个 HTTPS 查询时只执行 1 个 SQL 查询,然后其他一些没有 SQL 的 HTTPS 查询,我们如何实现该机制?
标签: ruby-on-rails web-services api rest concurrency