【问题标题】:Rails 4, Devise remember tokenRails 4,设计记住令牌
【发布时间】:2014-01-21 12:13:48
【问题描述】:

我试图找出devise 是如何生成remember_token 的。

我注意到即使数据库中没有标记列来保存它,它也会生成(并存储在 cookie 中)。我想了解它是如何工作的,但我在它的源代码中找不到正确的位置。

谁能指点我的源代码文件?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 devise


    【解决方案1】:

    值来自可记忆模型中的rememberable_value方法。

    https://github.com/plataformatec/devise/blob/master/lib/devise/models/rememberable.rb#L75

    如果模型响应它(这是以前版本中存在实际 DB 属性的遗留问题)或未能提取值,您可以在那里看到 remember_token 属性/方法来自authenticate_salt 方法。

    使用的authenticable_salt方法,如果你使用database_authenticable模块在这里:

    https://github.com/plataformatec/devise/blob/master/lib/devise/models/database_authenticatable.rb#L132

    然后该方法返回用户加密密码的前 29 个字符,然后在 remember_token 中使用。

    【讨论】:

      猜你喜欢
      • 2015-06-10
      • 2012-06-13
      • 2017-05-09
      • 2012-05-09
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 2023-03-05
      • 2017-10-23
      相关资源
      最近更新 更多