Catalyst-Authentication-Credential-RedmineCookie
view release on metacpan or search on metacpan
ex/rails4_cookie_to_json.rb view on Meta::CPAN
#!/usr/local/bin/ruby
# for secret_key_base
#
# https://gist.github.com/pdfrod/9c3b6b6f9aa1dc4726a5#gistcomment-2711128
require 'active_support'
require 'json'
class MyClass
def initialize(key)
# Default values for Rails 4 apps
key_iter_num = 1000
key_size = 32
salt = "encrypted cookie"
signed_salt = "signed encrypted cookie"
key_generator = ActiveSupport::KeyGenerator.new(key, iterations: key_iter_num)
secret = key_generator.generate_key(salt)[0..key_size-1]
sign_secret = key_generator.generate_key(signed_salt)
@encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret, serializer: ActiveSupport::MessageEncryptor::NullSerializer)
end
def decrypt_session_cookie(cookie)
cookie = CGI::unescape(cookie)
JSON.generate( Marshal.load( @encryptor.decrypt_and_verify(cookie) ) )
end
end
key = ":secret_key_base"
obj = MyClass.new(key)
while line = gets
cookie = line.chomp
begin
puts obj.decrypt_session_cookie(cookie)
rescue
puts "ERROR"
end
STDOUT.flush
end
( run in 0.812 second using v1.01-cache-2.11-cpan-71847e10f99 )