我正在尝试通过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
答案 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")
通常可以解决问题。