Fel*_*lix 6 security cookies ruby-on-rails ruby-on-rails-4
在Rails 4.x中,secret_key_base它用于对会话cookie以及通过调用创建的任何其他签名cookie进行签名cookies.signed.
我想更新/循环/滚动它secret_key_base,但不会失去对所有以前签名的cookie的访问权限(我不介意丢失会话).是否有可能做到这一点?
理想情况下,我喜欢这样的东西:
secret_key_base.secret_key_base在一段时间内同时使用旧的和新的,以便使用旧密钥签署的cookie可以使用较新的密钥重新签名.secret_key_base.我知道从使用a secret_token到a的升级有类似的功能secret_key_base.有没有办法使用Rails实现这一目标?
你可以用不同的方式来解决它。现在保留旧的 Secret_key 并创建一个临时表,您可以在其中存储映射到特定用户的所有 Cookie 数据。也可以使用 redis 来实现此目的。当您非常确定已收到所有现有的cookie数据时,您可以更改secret_key。这将使所有 cookie 数据无效。现在,每当收到 cookie 时,您都可以首先检查该用户的数据是否存在,并相应地设置 cookie,并从临时表/key_store 中删除该条目。一旦临时表为空,您就可以完全删除该机制
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |