【问题标题】:Devise Rememberable not working after Chrome/Firefox browser applications closed在 Chrome/Firefox 浏览器应用程序关闭后,Devise Rememberable 无法正常工作
【发布时间】:2015-05-26 18:21:03
【问题描述】:

在Rails 4.2 应用程序中,我在激活Rememberable 和Timeoutable 模块的应用程序上安装了Devise。

当用户登录时,选择Remember Me,并关闭浏览器tab,当他们打开一个新的tab并返回应用程序时,他们的登录信息将被保留.这与 Chrome、Firefox 和 Safari 一致。

但是,当用户登录时,选择Remember Me 并关闭浏览器app,当他们重新打开浏览器app 时,他们将退出应用程序并打开一个新的浏览器选项卡。这与 Chrome 和 Firefox 一致。另一方面,Safari 可以按需要运行。

当用户关闭 Chrome 和 Firefox 浏览器应用程序时,是否可以保留用户登录凭据?我怀疑这是一个 cookie 问题,但我不知道需要更改哪些设置才能使 cookie 在浏览器 app 关闭之间保持有效。

Windows 和 Mac 平台的行为是一致的。

配置

铬

Settings > Content settings > Cookies > Allow local data to be set = selected

服务器

  • Rails 4.2
  • 设计 3.4.1

客户端 1

  • Mac OSX 10.10.2(优胜美地)
  • Chrome 41.0.2272.101(64 位)
  • Firefox 36.0.4
  • Safari 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

【问题讨论】:

  • 您是否使用默认设计登录视图?另外,您的模型是否具有 remember_created_at 属性?
  • 是的,在这两点上。我怀疑这就是浏览器选项卡关闭工作的原因。只是不确定浏览器应用程序是否关闭。
  • 检查secure_compare是否失败
  • @HithamS.AlQadheeb 怎么样?
  • @wrburgess 设法解决了这个问题?

标签: ruby-on-rails google-chrome firefox devise warden


【解决方案1】:

这也发生在我身上,解决方法是将expire_after手动添加到config\initializers\session_store.rb中。

Rails.application.configure do
  config.session_store :cookie_store, key: '_my_app_session', expire_after: 2.years
end

注意:将 _my_app_session 替换为您的 cookie 名称,您可以在生产中打开页面或暂存 right click > inspect > application > cookies 时在浏览器上查看该名称

【讨论】:

    猜你喜欢
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多