加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 4,Devise记住令牌

发布时间:2020-12-17 03:48:41 所属栏目:百科 来源:网络整理
导读:我试图找到 devise如何生成remember_token. 我注意到它是生成的(并存储在cookie中),即使DB中没有令牌列来保存它.我想了解它的工作原理,但我找不到合适的位置. 有人能指点我的源代码文件吗? 解决方法 该值来自可记忆模型中的rememberable_value方法. https:/
我试图找到 devise如何生成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方法:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读