tom*_*ave 4 ruby ruby-on-rails devise ruby-on-rails-4
我试图找到设计如何产生remember_token.
我注意到它是生成的(并存储在cookie中),即使DB中没有令牌列来保存它.我想了解它的工作原理,但我找不到合适的位置.
有人能指点我的源代码文件吗?
该值来自可记忆模型中的rememberable_value方法.
https://github.com/plataformatec/devise/blob/master/lib/devise/models/rememberable.rb#L75
你可以在那里看到remember_token属性/方法,如果模型响应它(它是以前版本中存在实际DB属性的遗留物)或者没有从authenticatable_salt方法中提取值.
如果您使用的是database_authenticatable模块,则使用authenticatable_salt方法:
然后该方法返回用户加密密码的前29个字符,然后在remember_token中使用.