2014-10-09 52 views
1

我遇到了当前我的设置问题。我正在使用Hapi.js和CouchDB。我试图使用CouchDB cookie认证。Hapi.js,CouchDB和麻烦处理AuthSession令牌

我通过查询/ _session用户名和密码从CouchDB获取AuthSession标记。这很好。

问题是我不知道如何处理AuthSession令牌。在哪里存储?例如,我读过我可以将其存储在Redis中。但那又如何?以什么格式?

比方说,我将用户ID和AuthSession标记保存到Redis中。假设有5个用户同时登录,因此Redis中有5个令牌。我如何知道从Redis获取的每个用户请求的令牌?

回答

0

cookie认证CouchDB中的工作方式是这样的:

  1. POST/_session与匹配在/_users分贝用户凭据。
  2. 该响应包含一条指示浏览器设置AuthSession cookie的指令。
  3. 从这一点开始,所有对该域的更多请求(包括ajax)都由cookie完成。

如果你需要存储的cookie AuthSession某处的浏览器和CouchDB的之间,它可能是更容易还是让浏览器设置cookie,然后只需将它传递给CouchDB的当请求的用武之地。

+0

嗯..用户用凭证发送登录表单,然后服务器端(Hapi)处理/ _session请求到数据库(CouchDB)。所以响应被赋予服务器而不是客户端。但是,如何真正将cookie传递给客户端以及从客户端传递到数据库? – dps 2014-10-10 00:20:52

+0

我对hapi.js了解不多。抱歉。快速搜索可以找到关于在浏览器和hapi.js应用程序之间获取和设置cookie的教程。 http://hapijs.com/tutorials/cookies。在hapi.js和沙发之间获取和设置cookie取决于您在hapi应用中如何使用这些网络请求。 – fet 2014-10-10 01:06:32