通过设置cookie打开密码保护的站点(Passport.js)与Phantom.Js

时间:2014-02-24 08:46:36

标签: cookies express mongoose phantomjs passport.js

我正在尝试使用 Phantom.js 脚本访问 Express.js 应用程序的受护照页面。

如何在不知道护照的情况下模拟登录用户?

我使用 Passport.js 作为带有 LocalStrategy MongoStore 的auth库来保护 mongo中的会话数据库。我想知道我是否可以在 sessions 集合中创建记录并使用 Phantom.js phantom.addCookie(...))设置生成的cookie来模拟特定的登录用户没有用户的密码?

我是否可以为后端的特定用户生成 connect.sid Cookie的内容,并将其添加到phantom.js以模拟已登录的用户?

调查结果:

我发现Passport.js使用Cookie-Signature节点模块来签署cookie内容,我假设 Express.js 使用Connect cookie session 中间件来处理cookie和会话创建并将它们插入到HTTP头中。

1 个答案:

答案 0 :(得分:1)

使用javascript,您应该能够填写您的登录字段并提交。 (模拟用户登录,而不是尝试重新创建登录cookie)

这可能是你最好的选择。

如何填写表格,请参阅: How to fill in form field, and submit, using javascript? Automatic form fill using javascript