我正在使用node-linkedin来访问我的网络应用程序。
Error { [CSRF Alert: Possible CSRF attack, state parameters do not match.] name: 'CSRF Alert' }
var Linkedin = require('node-linkedin')('apikey', 'secret', 'callback');
Linkedin.auth.getAccessToken(res, req.query.code, req.query.state, function (err, results) {
if(err){
return console.error("Error", err);
}
return res.redirect('/index');
});
解决此问题的任何建议
答案 0 :(得分:0)
找出库的问题。
当我将nodejs应用程序扩展为使用2个以上的实例时,会出现错误,
Error { [CSRF Alert: Possible CSRF attack, state parameters do not match.] name: 'CSRF Alert' }
由于auth.js中的“states”参数正在使用内存存储,因此会产生扩展应用程序的问题。
情景是
'/ oauth / linkedin'转到 App-0 (创建状态参数“xxxx”+存储在内存中) '/ oauth / linkedin / callback'转到 App-1 (这里它将检查收到的状态是否为“xxxx”+检查是否在内存中)
记录的问题here
在nginx中使用粘性会话暂时解决此问题。