Когда я запускаю приложение не по протоколу SSL, срок действия сеанса перестает работать

#ruby-on-rails #ssl #devise #puma

#ruby-on-rails #ssl #разработать #puma

Вопрос:

Если я запускаю приложение по протоколу SSL, авторизуйтесь с помощью «запомнить меня», срок действия сеанса истекает корректно в соответствии с config.remember_for настройкой. При переключении на http: // истекает срок игнорирования сеанса config.remember_for и отражения config.timeout_in .

Есть идеи, как это исправить?

Комментарии:

1. сеансы сохраняются для каждого источника, который содержит схему, поэтому вы не сможете просто получить к ним доступ возможным решением было бы разместить ваш веб-сайт на обоих и сохранить сеанс в базе данных, чтобы затем, если пользователь войдет в систему на сайте https, загрузить содержимое

2. Мне не нужно запускать SSL и non SSL вместе. Я просто описываю разницу в поведении между ними двумя. Не SSL работает корректно, а SSL — нет.

Ответ №1:

SSL или не SSL определяет настройки

 config.rememberable_options
  

Также необходимо использовать имя хоста, например «example.com «не только IP.

Если установлен флажок «запомнить меня», сеанс истекает после

 config.remember_for
  

При снятом флажке срок действия «запомнить меня» истекает после

 config.timeout_in
  

Все в config / inicializer / devise.rb