Я использую lusca и экспресс-сессию на уровне узлов приложения VueJS и пытаюсь предотвратить атаки CSRF.Я использую следующую конфигурацию lusca:
import lusca from "lusca";
import config from "../../properties/config.js";
export default function (app) {
const luscaConfig = {
csrf: true,
xssProtection: config.get("security:xss:enabled")
};
if (config.get("security:csp:enabled")) {
luscaConfig.csp = {
policy: config.get("security:csp:policy")
};
}
if (config.get("security:xframe:enabled")) {
luscaConfig.xframe = config.get("security:xframe:origin");
}
if (config.get("security:p3p:enabled")) {
luscaConfig.p3p = config.get("security:p3p:policy");
}
app.use(lusca(luscaConfig));
};
Только с этим я вижу следующую ошибку при первом действии, которое я выполняю в веб-клиенте, который взаимодействует с API (вход в систему):
Круто, похоже, что в некоторой степени конфигурация lusca делает свое дело, теперь мне просто нужно сделать правильную вещь вна стороне клиента, чтобы убедиться, что токен CSRF правильно установлен в заголовках исходящих запросов.Я видел, что этот пост выглядел полезным для моего дела, особенно ответа, предоставленного пользователем abusalameh.В файле main.js моего приложения Vue, где я создаю экземпляр самого приложения, я добавил следующее:
import axios from 'axios'
window.axios = axios
console.log(document.querySelector('meta[name="csrf-token"]'))
Однако null
выходит из системы, и кажется, что токен CSRF небыть обнаруженным.Как я могу получить доступ к токену CSRF, предоставленному lusca, чтобы затем установить его в заголовках и убедиться, что мои запросы правильно распознаются, но не запросы злонамеренных агентов?