Почему мой BackEnd Express.js успешно удаляет файл cookie в Chrome, но не в Firefox?

Согласно этот вопрос, мой код не идентичен файлу cookie, но вроде идентичен. Вот мой код настройки cookie:

res.cookie(
    'access_token', 'Bearer '+ token, {
      expires: new Date(Date.now() + 900000), // cookie will be removed after 15 mins
      httpOnly: true
    })

Вот мой код удаления куки:

app.get('/logout', function(req, res) {
  res.clearCookie('access_token', { domain:'localhost', path: '/', httpOnly: true })
  .redirect('http://localhost:4200/avior/login')
});

Согласно документации по API Express JS, в методе clearCookie не следует устанавливать истечение/maxAge. Это именно то, что я сделал. Это проблема только потому, что я использую httpOnly?


person Munchkin    schedule 16.12.2019    source источник


Ответы (1)


Даже я столкнулся с подобной проблемой в своем угловом проекте. Я решил свою проблему, установив путь: "/" при создании и удалении файлов cookie, как показано ниже.

res.cookie(
  'access_token', 'Bearer '+ token, {
  expires: new Date(Date.now() + 900000), // cookie will be removed after 15 mins
  httpOnly: true,
  path: '/'
})
person gangadhar yerpula    schedule 16.12.2019
comment
Да, я установил домен и путь, и теперь все работает! Странно, потому что значения по умолчанию должны быть в порядке. - person Munchkin; 16.12.2019
comment
домен был лишний, ваш ответ правильный. - person Munchkin; 16.12.2019