Hello,
I’m new to OpenHabCloud (OHC) and trying to setup a private one to test my system. I’m developing an small application running on top of OHC and want to send a POST login request to it. However, I receives this error about the field csrf. I tried to get the page (sending a GET request to http://my-ip:3000) to retrieve the value of csrf and include it in my request, but the error still happens.
I send my err as my code to send a POST request (in javascript of nodejs) for your information. Could somebody have same problem or any advice?
Thanks,
- POST code
var options = {
host: 'my-ip',
port: 3000
};
http.get(options, function(res) {
res.on("data", function(chunk) {
var $ = cheerio.load(chunk);
var c = $('[name=_csrf]').val();
console.log("*********==============");
console.log(c);
request.post({
headers: {'content-type' : 'application/x-www-form-urlencoded'},
url: 'http://my-ip:3000/login',
body: {username: "my-user-name", password: 'my-pass',_csrf: c}
}, function(error, response, body){
console.log(body);
});
});
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
- Error Log
ForbiddenError: invalid csrf token
at verifytoken (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/node_modules/csurf/index.js:263:11)
at csrf (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/node_modules/csurf/index.js:93:7)
at Object.handle (/home/d2d_user/Downloads/openhab-cloud/app.js:267:13)
at Context.next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)
at Context.actions.pass (/home/d2d_user/Downloads/openhab-cloud/node_modules/passport/lib/passport/context/http/actions.js:77:8)
at SessionStrategy.authenticate (/home/d2d_user/Downloads/openhab-cloud/node_modules/passport/lib/passport/strategies/session.js:67:10)
at attempt (/home/d2d_user/Downloads/openhab-cloud/node_modules/passport/lib/passport/middleware/authenticate.js:243:16)
at Passport.authenticate (/home/d2d_user/Downloads/openhab-cloud/node_modules/passport/lib/passport/middleware/authenticate.js:244:7)
at next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)
at Passport.initialize (/home/d2d_user/Downloads/openhab-cloud/node_modules/passport/lib/passport/middleware/initialize.js:69:5)
at next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)
at Object.handle (/home/d2d_user/Downloads/openhab-cloud/node_modules/connect-flash/lib/flash.js:21:5)
at next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)
at Object.session as handle (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/node_modules/express-session/index.js:386:7)
at next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)
at Object.cookieParser as handle (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/node_modules/cookie-parser/index.js:34:14)
at next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)
at methodOverride (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/node_modules/method-override/index.js:79:5)
at /home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:41:7
at methodOverride (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/node_modules/method-override/index.js:79:5)
at Object.handle (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:39:5)
at next (/home/d2d_user/Downloads/openhab-cloud/node_modules/express/node_modules/connect/lib/proto.js:174:15)