【问题标题】:How to pass a cookie from couchd to the client through node.js如何通过node.js将cookie从couchd传递给客户端
【发布时间】:2012-06-21 07:10:40
【问题描述】:

CouchDB 通过它的 _session API (http://wiki.apache.org/couchdb/Session_API) 内置了身份验证,但我无法通过 node.js 将它提供的 cookie 传递给客户端

这是我的代码(我使用 express.js 登录是路由):

exports.login = function(req, res){
  var request = require('request');

  var userData = {
    "name":req.body.email,
    "password": req.body.password
  };

  request.post({
    'url': 'http://wamoyo.iriscouch.com/_session',
    'json': userData,
  }, function (error, response, body) {
    if (!error && response.statusCode == 200) {
      console.log(body);
    }

    request('http://wamoyo.iriscouch.com/_session', function (error, response, body) {
      console.log(response.request.req._headers);
      // Write the Cookie
      res.setHeader("Set-Cookie", response.request.req._headers.cookie);
      return res.render('index', { title: 'BasicChat' })
    });
  });

};

这似乎不起作用,我也不知道调试它的好方法。任何帮助都会动摇!

我的后备方案是像这样使用 Jquery Couch 插件:(https://wamoyo.iriscouch.com/loginer/_design/Loginer/attachments%2findex.html) 但是这会很糟糕有很多原因。

另外,我意识到这段代码还没有效率,我只是想让它现在工作。如有混乱,请见谅。

【问题讨论】:

    标签: node.js cookies couchdb express


    【解决方案1】:

    亲爱的网友,我好像又找到你了:)

    nano 实现了这个,你喜欢可以使用它:

    这是一篇关于它的博文:

    这是一个示例(来自 nano 的实际测试代码)

    【讨论】:

    • 哈哈,是的,好吧,堆栈是寻找答案的最佳场所。啊,我看到那篇文章(mahoney.eu/2012/05/23/couchdb-cookie-authentication-nodejs-nano/…)好东西。这可能很愚蠢,但我试图避免在节点层上存储任何 cookie。我的意思是,如果我要将它们存储在 redis 中,我不能轻松地将它们存储在沙发上吗?还是根本没有?
    • nano 中的 API 不存储 cookie,你必须自己做。把它放在 Redis 中就可以了
    猜你喜欢
    • 1970-01-01
    • 2015-06-02
    • 2013-01-30
    • 2012-11-24
    • 2015-03-06
    • 2016-05-11
    • 2013-09-03
    • 2016-11-28
    • 1970-01-01
    相关资源
    最近更新 更多