Можем ли мы установить тайм-аут сеанса для определенного сеанса - PullRequest
0 голосов
/ 21 декабря 2018

В настоящее время я работаю над двухфакторной аутентификацией в Devise и хочу сохранить идентификатор пользователя во временном сеансе в течение 2 минут. Могу ли я установить тайм-аут только для этого сеанса.

session[:user_id] = "USER_ID_HERE"

Я хочу что-то подобное: -

session[:user_id].timeout = 2.minutes

Заранее спасибо

1 Ответ

0 голосов
/ 21 декабря 2018

Только для этого сеанса вы также можете сохранить текущее время в сеансе:

session[:user_id] = "USER_ID_HERE"
session[:expires_at] = Time.current + 2.minutes

Затем в before_action определите некоторый метод для проверки:

if session[:expires_at] < Time.current
  session.delete(:user_id)
  session.delete(:expires_at)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...