Ошибка: запрос не выполнен с кодом состояния 403 для защиты csrf с vue js и express js - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь реализовать защиту csrf для вызовов vue. Я использую express в качестве бэкэнда. Для csrf я использовал модуль csurf.

     var cookieParser = require('cookie-parser');
     var app = express();
     var csrf = require('csurf');
     app.use(cookieParser());
     const csrfProtection = csrf({ cookie: true });  

     //getting csrf token
     app.get('/api/getcsrftoken',csrfProtection,function (req, res) {
          return res.json({ csrfToken: req.csrfToken() });
     });

     //validate csrf
     })
     app.all("/WS/:name/:id?",csrfProtection,function(req, res, next){
        console.log("hello");
     }

В vue js Authservice предоставляет метод getCSRF для получения токена.

        getCSRF()
        {
           return axios.get('http://192.168.20.28:8000/api/getcsrftoken').then((response) => {
                axios.defaults.headers.common['X-CSRF-Token'] = response.data.csrfToken;
             }, (err) => {
                console.log(err)
           })
        }

В компоненте входа vue,


      async mounted(){
        await AuthService.getCSRF();
      }

Заголовок

В методах я написал запрос ax ios на express, затем он сообщает 403 запрещенную ошибку. Что-нибудь добавить в мой код? Спасибо заранее.

...