我正在尝试找出devise如何生成 remember_token
。
即使没有用于保存它的令牌列,我已经注意到它会被生成(并存储在cookie中)。我想了解它是如何工作的,但我无法在源代码中找到正确的位置。
请问有谁能够指引我到源文件吗?
我正在尝试找出devise如何生成 remember_token
。
即使没有用于保存它的令牌列,我已经注意到它会被生成(并存储在cookie中)。我想了解它是如何工作的,但我无法在源代码中找到正确的位置。
请问有谁能够指引我到源文件吗?
该值来自于rememberable模型中的rememberable_value方法。
https://github.com/plataformatec/devise/blob/master/lib/devise/models/rememberable.rb#L75
在那里,您可以看到如果模型响应它(这是以前版本中实际存在的数据库属性的剩余部分),则 remember_token 属性/方法,否则它会从authenticatable_salt方法中获取值。
如果您使用database_authenticatable模块,则使用的authenticatable_salt方法在此处:
然后该方法返回用户加密密码的前29个字符,然后用作remember_token。