我正在使用 node-linkedin从我的Web应用程序访问linkedin. 问题 Error { [CSRF Alert: Possible CSRF attack, state parameters do not match.] name: 'CSRF Alert' } 码 var Linkedin = require('node-linkedin')('apikey', 'secret', 'cal
问题
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'); });
任何解决此问题的建议
找出库的问题.当我将我的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中使用粘性会话来解决此问题.