无法通过javascript检索AuthSession cookie Couchdb

时间:2013-12-25 18:50:37

标签: security couchdb pouchdb

我正在尝试通过javascript为单页应用程序(pouchdb)设置登录/注销页面。

通过curl检索和发送authsession cookie工作正常,如文档中所述,但是当我尝试在javascript中重现它时,  var contType = AjaxRequest.getAllResponseHeaders();  警报(contType);

我可以检索的唯一参数是:

服务器:CouchDB / 1.5.0(Erlang OTP / R16B01) 内容类型:text / plain;字符集= utf-8的 缓存控制:必须重新验证

是否有人成功检索此会话cookie并将其与javascript一起使用? 谢谢, JL

2 个答案:

答案 0 :(得分:2)

AuthSession标记为HTTPOnly - 即它only be exposed over HTTP(S)并且不可用于JavaScript(以防止篡改)。

如果用户身份验证正确,则对/ _session的调用将返回200响应,如果凭据不正确,则返回401。如果成功(200响应),AuthSession cookie将由浏览器自动存储并传递给将来对CouchDB URL的请求,直到浏览器/选项卡关闭或您向/_session发出DELETE请求。 >

您应该能够在不需要直接访问cookie的情况下实现给定语义的登录页面。

答案 1 :(得分:0)

这是一个很好的问题。我不知道我是否可以回答这个问题,但我有不同的方式来解决这个问题。一旦发出ajax请求,浏览器本身应该设置cookie。

https://github.com/carhartl/jquery-cookie

我使用这个jQuery插件从CouchDB登录处理AuthSession cookie有了积极的经验。 $.cookie("AuthSession")通常可以解决问题。