diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2013-04-01 08:10:34 -0700 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2013-04-01 08:10:34 -0700 |
commit | f9d23b3848ab81cfb5207e14ccabca3d2e9b3182 (patch) | |
tree | 2e9fc6a19600f754750ad5b7a8cf29add02ca0ae /actionpack/lib/action_dispatch/middleware/session | |
parent | 40f9ca971a4be5b22c643c4db30ec0cdaeff6a59 (diff) | |
parent | 274a3aa64cb903c52a41d1767cac0bc3eae44172 (diff) | |
download | rails-f9d23b3848ab81cfb5207e14ccabca3d2e9b3182.tar.gz rails-f9d23b3848ab81cfb5207e14ccabca3d2e9b3182.tar.bz2 rails-f9d23b3848ab81cfb5207e14ccabca3d2e9b3182.zip |
Merge pull request #9978 from trevorturk/cookie-store-auto-upgrade
Cookie-base session store auto-upgrade
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware/session')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/session/cookie_store.rb | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb b/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb index 1e6ed624b0..a603b33b45 100644 --- a/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb @@ -100,42 +100,7 @@ module ActionDispatch def cookie_jar(env) request = ActionDispatch::Request.new(env) - request.cookie_jar.signed - end - end - - class EncryptedCookieStore < CookieStore - - private - - def cookie_jar(env) - request = ActionDispatch::Request.new(env) - request.cookie_jar.encrypted - end - end - - # This cookie store helps you upgrading apps that use +CookieStore+ to the new default +EncryptedCookieStore+ - # To use this CookieStore set - # - # Myapp::Application.config.session_store :upgrade_signature_to_encryption_cookie_store, key: '_myapp_session' - # - # in your config/initializers/session_store.rb - # - # You will also need to add - # - # Myapp::Application.config.secret_key_base = 'some secret' - # - # in your config/initializers/secret_token.rb, but do not remove +Myapp::Application.config.secret_token = 'some secret'+ - class UpgradeSignatureToEncryptionCookieStore < EncryptedCookieStore - private - - def get_cookie(env) - signed_using_old_secret_cookie_jar(env)[@key] || cookie_jar(env)[@key] - end - - def signed_using_old_secret_cookie_jar(env) - request = ActionDispatch::Request.new(env) - request.cookie_jar.signed_using_old_secret + request.cookie_jar.signed_or_encrypted end end end |