X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fmessage_verifier.rb;fp=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fmessage_verifier.rb;h=0000000000000000000000000000000000000000;hb=36d9f3351a3b4e8159279445190e2287ffdea86c;hp=b24acb9f47fd930d3e77bcce3b18797718e77292;hpb=913cf6054b1d29b5d2f5e620304af7ee77cc1f1f;p=feedcatcher.git diff --git a/vendor/rails/activesupport/lib/active_support/message_verifier.rb b/vendor/rails/activesupport/lib/active_support/message_verifier.rb deleted file mode 100644 index b24acb9..0000000 --- a/vendor/rails/activesupport/lib/active_support/message_verifier.rb +++ /dev/null @@ -1,46 +0,0 @@ -module ActiveSupport - # MessageVerifier makes it easy to generate and verify messages which are signed - # to prevent tampering. - # - # This is useful for cases like remember-me tokens and auto-unsubscribe links where the - # session store isn't suitable or available. - # - # Remember Me: - # cookies[:remember_me] = @verifier.generate([@user.id, 2.weeks.from_now]) - # - # In the authentication filter: - # - # id, time = @verifier.verify(cookies[:remember_me]) - # if time < Time.now - # self.current_user = User.find(id) - # end - # - class MessageVerifier - class InvalidSignature < StandardError; end - - def initialize(secret, digest = 'SHA1') - @secret = secret - @digest = digest - end - - def verify(signed_message) - data, digest = signed_message.split("--") - if digest != generate_digest(data) - raise InvalidSignature - else - Marshal.load(ActiveSupport::Base64.decode64(data)) - end - end - - def generate(value) - data = ActiveSupport::Base64.encode64s(Marshal.dump(value)) - "#{data}--#{generate_digest(data)}" - end - - private - def generate_digest(data) - require 'openssl' unless defined?(OpenSSL) - OpenSSL::HMAC.hexdigest(OpenSSL::Digest::Digest.new(@digest), @secret, data) - end - end -end