🛤️
Rails7 で ActiveSupport::KeyGenerator の HashDigestClass 変更後の rotate
Rails.application.config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA256
にした後、旧 key generator で生成された MessageVerifier の verify をサポートする。
Rails.application.config.after_initialize do
%i(hoge fugo).each do |key|
old_secret = ActiveSupport::KeyGenerator.new(Rails.application.secrets.secret_key_base, iterations: 1000, hash_digest_class: OpenSSL::Digest::SHA1).generate_key(key.to_s)
Rails.application.message_verifier(key).rotate old_secret
end
end
Discussion