В приложении Rails 4.2
у меня установлено Devise
в приложении с активированными модулями Rememberable
и Timeoutable
.
Когда пользователь входит в систему, выбирает Remember Me
и закрывает вкладку браузера, его логин сохраняется, когда он открывает новую вкладку и возвращается в приложение. Это согласуется с Chrome, Firefox и Safari.
Однако, когда пользователь входит в систему, выбирает Remember Me
и закрывает браузерное приложение, он выходит из приложения, когда повторно открывает браузерное приложение и открывает новый браузер. вкладка Это согласуется с Chrome и Firefox. Safari, с другой стороны, работает так, как хотелось бы.
Можно ли сохранить учетные данные пользователя, когда он закрывает приложения браузера Chrome и Firefox? Я подозреваю, что это проблема с файлами cookie, но я не знаю, какие настройки мне нужно изменить, чтобы файлы cookie оставались действительными между закрытиями браузера app.
Поведение одинаково для платформ Windows и Mac.
Конфигурации
Хром
Settings > Content settings > Cookies > Allow local data to be set = selected
Сервер
- Рельсы 4.2
- Разработка 3.4.1
Клиент 1
- Mac OSX 10.10.2 (Йосемити)
- Chrome 41.0.2272.101 (64-разрядная версия)
- Фаерфокс 36.0.4
- Сафари 8.0.4 (10600.4.10.7)
Клиент 2
- Windows 7
- Хром 41.0.2272.101 м
- Фаерфокс 36.0.4
Модель пользователя
# models/user.rb
devise :database_authenticatable, :recoverable, :rememberable, :registerable, :trackable, :validatable, :async, :timeoutable
Разработка конфигурации
# note: User model does have remember_created_at field installed
# config/initializers/devise.rb
Devise.setup do |config|
...
config.remember_for = 2.weeks
config.extend_remember_period = true
config.rememberable_options = { secure: true }
config.timeout_in = 2.weeks
config.expire_auth_token_on_timeout = false
...
end