【发布时间】:2016-04-06 02:55:50
【问题描述】:
我创建了一个新的 Express 应用 (4.13.1),但没有添加任何内容。我会尝试让它与 Angular 一起工作,但我一开始就卡住了。
我现在正在使用 express-jwt (cookies) 处理身份验证,所以我不处理会话(在 Redis、Mongo 等中存储会话)或其他东西。
这是我添加到 app.js 中的内容。
var csrf = require('csurf');
app.use(cookieParser('randomStringisHere222'));
app.use(csrf());
app.use(function(req, res, next) {
res.cookie('XSRF-TOKEN', req.csrfToken());
return next();
});
当我访问localhost:3000 时,我得到了上面的错误。
misconfigured csrf
Error: misconfigured csrf
at getsecret (/Users/itsme/Desktop/k/node_modules/csurf/index.js:195:11)
at csrf (/Users/itsme/Desktop/k/node_modules/csurf/index.js:60:18)
at Layer.handle [as handle_request] (/Users/itsme/Desktop/k/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/itsme/Desktop/k/node_modules/express/lib/router/index.js:312:13)
at /Users/itsme/Desktop/k/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/Users/itsme/Desktop/k/node_modules/express/lib/router/index.js:330:12)
at next (/Users/itsme/Desktop/k/node_modules/express/lib/router/index.js:271:10)
at cookieParser (/Users/itsme/Desktop/k/node_modules/cookie-parser/index.js:48:5)
at Layer.handle [as handle_request] (/Users/itsme/Desktop/k/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/itsme/Desktop/k/node_modules/express/lib/router/index.js:312:13)
【问题讨论】:
-
尝试将
app.use(csrf());移到所有其他app.use(..)声明之后。 -
也许这会有所帮助? stackoverflow.com/questions/23997572/…