CSRF на странице входа

У меня есть токен CSRF на странице входа, который работает, как и ожидалось. Поэтому, когда у пользователя открыта страница входа в течение длительного времени (срок действия токена истек в фоновом режиме). Когда они правильно вводят свои учетные данные для входа, он сообщает им, что действие недействительно, поскольку срок действия токена истек, и снова перенаправляет их на страницу входа, где они теперь могут успешно войти.

Я думаю, что поведение соответствует ожидаемому, потому что токен CSRF устарел, а явное действие извлекло правильный токен. Пользователи ненавидят это, потому что им нужно дважды вводить данные для входа.

Любой совет? Похоже, это очень распространенная проблема с CSRF на странице входа, которая долго находится там.

Спасибо и ценю любую помощь.


person Mulder    schedule 24.03.2016    source источник
comment
Извините, но как часто ваши пользователи сталкиваются с этой проблемой? Есть ли у вас другие действия на странице входа, которые их отвлекают?   -  person Alec    schedule 25.03.2016
comment
Довольно часто. Они прекратят время сеанса и будут перенаправлены на страницу входа. Через несколько часов они попытаются войти в систему и получат ошибку CSRF, и их снова перенаправят для входа в систему, которая получит новый токен с сервера. Тогда они смогут войти. Это как двойной логин для работы..   -  person Mulder    schedule 25.03.2016
comment
Рассматривали ли вы автоматическое обновление, установленное на время, примерно равное истечению срока действия токена CSRF?   -  person Alec    schedule 25.03.2016


Ответы (1)


Учитывая то, что вы указываете в комментарии, я бы предложил вам реализовать автоматическое обновление, установленное примерно на тот же интервал, что и истечение срока действия ваших токенов CSRF.

Просто добавьте это в тег <head>:

<meta http-equiv="refresh" content="300">

В этом примере он будет обновляться каждые 5 минут.

person Alec    schedule 25.03.2016