с Devise
В рельсах вы можете найти опцию в файле инициализатора devise config>initializers>devise.rb
config.timeout_in = 20.minutes
здесь вы можете укажите лимит, после которого пользовательский сеанс истечет. В приведенном выше случае он истекает через 20 минут, и пользователю снова будет предложено ввести учетные данные.
Без устройства
Вы можете просто истечь сессию пользователя с config>initializers>session_store.rb
Rails.application.config.session_store :cookie_store, expire_after: 30.minutes
Таким образом, срок действия всех данных сеанса истечет через 30 минут. А так как вы будете хранить вошедшую в систему информацию пользователя в сеансе, эти данные будут стерты. Таким образом, пользователь выйдет из системы после этого.