ruby-on-rails - Rails 4,设计记住 token

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

我试图找到如何 devise生成 remember_token

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

谁能给我指点源代码文件,好吗?

最佳答案

值来自可内存模型中的rememberable_value方法。

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

您可以在那里看到 remember_token 属性/方法,如果模型响应它(这是从以前的版本中遗留下来的,那里有一个实际的 DB 属性)或者失败时它会提取值来自 authenticatable_salt 方法。

使用的 authenticatable_salt 方法,如果您使用的是 database_authenticatable 模块,则在此处:

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

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

关于ruby-on-rails - Rails 4,设计记住 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21257840/

相关文章:

mysql - Ruby on Rails - 按相关表记录数排序

ruby-on-rails - ruby nokogiri gem 安装 mac osx high Sierra

ruby-on-rails - : rails vs. bin/rails 有什么区别?

ruby-on-rails - 修改 en.yml 文件以验证错误消息 rails 3

ios - 弗兰克设置给出错误,

ruby-on-rails-4 - Capybara::NotSupportedByDriverError 与 capybara-webkit 的集成测试

javascript - 使用 Cucumber + capybara + selenium 测试 Rails 应用程序会导致空白页

ruby-on-rails - Ruby 部分检索大量记录并迭代它们

ruby-on-rails - 你如何阅读现有的 Rails 项目?

ruby-on-rails - collection_select 不在 rails 4 中显示 text_method