SignedCookieJar如何运作?

时间:2012-06-29 15:03:04

标签: ruby-on-rails

SignedCookieJar究竟做了什么?

与此有什么不同,并在Cookie值上使用MessageEncryptor.encrypt_and_sign

1 个答案:

答案 0 :(得分:1)

如果您一直在寻找完全给定课程的内容,我建议您咨询来源。例如,SignedCookieJar位于rails/actionpack/lib/action_dispatch/middleware/cookies.rb

似乎SignedCookieJar是标准cookie jar的包装器,但在将cookie设置为其父jar之前,它将使用ActiveSupport::MessageVerifier的{​​{1}}方法对其进行签名,如果验证者的generate方法使签名无效,则从父jar获取cookie后,它将返回nil

差异似乎是verify签署数据,但原始数据保持不变,而MessageVerifier将在签名之前另外加密数据。 Rails文档说用例不同:

  

[MessageEncryptor]可以在类似于MessageVerifier的情况下使用,但是您不希望用户能够确定有效负载的值。

对于签名的cookie,我们通常不会太担心。