Очевидно, я не установил для повара ie значение true. Вместо следующего:
app.register(require('fastify-csrf'), { cookie: true });
Я использовал переменную, но не вызвал ее должным образом, в результате чего она была undefined
.
app.register(require('fastify-csrf'), csrfOptions);
После проверки код пакета, если cookie
в объекте options
не установлен на true
или {}
, он будет предполагать, что конфигурации сеанса были переданы:
var cookie = getCookieOptions(opts.cookie);
var sessionCsrfKey = options.key || '_csrf';
/* ... */
function isCookieContainer(cookie) {
if(cookie || typeof cookie === 'object') {
return true;
}
return false;
}
function getSecret(request, cookie) {
var container = tokenContainer(request, cookie);
if(isCookieContainer(cookie)) {
return container[cookie.key];
} else {
return request.session[sessionCsrfKey]; // <-- This is where the error occurs.
}
}