SignedCookieJar
究竟做了什么?
与此有什么不同,并在Cookie值上使用MessageEncryptor.encrypt_and_sign
?
答案 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,我们通常不会太担心。