2015-04-22 3 views
2

Для нашего front-end приложения мы используем аутентификацию с помощью cookie сеанса. Когда пользователь должен быть аутентифицирован, он перенаправляется на страницу входа в систему, после чего он перенаправляется в приложение. Установлен файл cookie сеанса. Уродливая часть заключается в том, что у нас нет никакого контроля над сервером аутентификации, и из того, что я вижу, с каждым запросом от клиента значение в cookie обновляется.Невозможно удалить сессию cookie в Firefox с помощью JavaScript

Проблема в том, что когда пользователь хочет выйти из системы, мы просто удаляем cookie сеанса. Этот подход отлично работает во всех браузерах, кроме Firefox.

По какой-то причине Firefox не может удалить или обновить файл cookie. Когда мы пытаемся это сделать, Firefox немедленно создает новый с допустимым значением.

В настоящее время мы пытались несколько вещей:

  1. Попытка удалить куки.
  2. Обновление файла cookie (expiration, name и т. Д.).

Мы пытались следующий код:

$.removeCookie('cookie_key'); 

$.cookie('cookie_key', null); 

document.cookie = ''; 

Любые идеи, где эта проблема может быть?

+1

Можете ли вы показать нам, как вы пытаетесь это сделать? Код Я имею в виду –

+0

В настоящее время мы используем $ .removeCookie ('cookie_key'). Мы также пробовали $ .cookie ('cookie_key', null) и plain document.cookie = ''; –

ответ

1

Вы пробоивали это решение от this answer? :

function delete_cookie(name, path, domain) { 
    if(get_cookie(name)) { 
    document.cookie = name + "=" + 
     ((path) ? ";path="+path:"")+ 
     ((domain)?";domain="+domain:"") + 
     ";expires=Thu, 01 Jan 1970 00:00:01 GMT"; 
    } 
} 

Или:

function delete_cookie(name) { 
    document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 
} 

Также вы посмотрите на developer.mozilla.org страницы о печенье?

Синтаксис:

docCookies.removeItem(name[, path[, domain]])

+1

Здравствуйте, мы уже пробовали первые два варианта. В Firefox нет результата. Я попробую решение от developer.mozzila.org, но я вижу, что они используют один и тот же подход для установки даты истечения срока действия до 1970 года. Но для полноты я попробую. Еще раз спасибо за ваш ответ. –

Смежные вопросы