Я перевожу приложение Rails 4.2 на Rails 5.2.
В коде мы устанавливаем куки:
cookies.permanent.signed["wsid#{session[:user_id]}".to_sym] = { value: wsid, httponly: true }
И затем возвращает его с:
cookies.permanent.signed["wsid#{session[:user_id]}".to_sym]
После обновления Rails значение больше не читается.
После двойной проверки Руководства по обновлению Ruby on Rails я обнаружил, что при переходе с Rails 5.1 на 5.2, есть изменение для файлов cookie .
Поэтому я добавил ко всем файлам среды следующее:
# controls whether signed and encrypted cookies use the AES-256-GCM cipher or
# the older AES-256-CBC cipher. It defaults to true.
config.action_dispatch.use_authenticated_cookie_encryption = false
но я все еще не могу получить доступ к значениям.
Может кто-нибудь помочь мне в этом, пожалуйста?
Обновление
Я читал о secret_key_base
, и я понял, что cookies
шифрует данные под колпаком, но на самом деле значения, определенные в приведенном выше коде, похоже, не зашифрованы, потому что с помощью Base64.decode64
я вижу правильное значение.