【问题标题】:Hapi.js, CouchDB and trouble handling AuthSession tokenHapi.js、CouchDB 和处理 AuthSession 令牌的问题
【发布时间】:2014-12-03 19:25:32
【问题描述】:

我的当前设置有问题。我正在使用 Hapi.js 和 CouchDB。我正在尝试使用 CouchDB cookie 身份验证。

我通过使用用户名和密码查询 /_session 从 CouchDB 获取 AuthSession 令牌。所以没关系。

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

假设我将用户 ID 和 AuthSession 令牌保存到 Redis 中。然后假设有 5 个用户同时登录,因此 Redis 中有 5 个令牌。对于用户的每个请求,我如何知道从 Redis 获取哪个令牌?

【问题讨论】:

    标签: session authentication cookies couchdb hapijs


    【解决方案1】:

    cookie 身份验证在 CouchDB 中的工作方式是这样的:

    1. POST/_session 的凭据与 /_users 数据库中的用户匹配。
    2. 响应包含一条指令,供浏览器设置 AuthSession cookie。
    3. 从那时起,对该域的所有进一步请求(包括 ajax)都使用 cookie 发出。

    如果您需要将 AuthSession cookie 存储在浏览器和 CouchDB 之间的某个位置,仍然让浏览器设置 cookie,然后在请求到来时将其传递给 CouchDB 可能会更容易。

    【讨论】:

    • 嗯.. 用户发送带有凭据的登录表单,然后服务器端 (Hapi) 处理对数据库 (CouchDB) 的 /_session 请求。所以响应是给服务器而不是给客户端的。但是如何实际将 cookie 传递给客户端以及从客户端传递给数据库呢?
    • 我对 hapi.js 了解不多。对不起。快速搜索一下本教程,了解在浏览器和 hapi.js 应用程序之间获取和设置 cookie。 hapijs.com/tutorials/cookies 。在 hapi.js 和 couch 之间获取和设置 cookie 取决于您在 hapi 应用程序中使用什么来发出这些网络请求。
    猜你喜欢
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2016-03-22
    • 2017-09-19
    • 2016-04-24
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多