Describe the bug
The migration added in #6947 fails with this error using production data:
Stacktrace
```
ActiveSupport::MessageVerifier::InvalidSignature: ActiveSupport::MessageVerifier::InvalidSignature
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-5.2.4.5/lib/active_support/message_verifier.rb:176:in `verify'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-5.2.4.5/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-5.2.4.5/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/attribute_encryptor.rb:10:in `decrypt'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:105:in `decrypt_value'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:119:in `block in decrypt_hash_values'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:119:in `transform_values'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:119:in `decrypt_hash_values'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:69:in `verification_metadata'
/Users/marc/code/decidim-apps/metadecidim/db/migrate/20210301101419_encrypt_authorization_metadatas.decidim.rb:11:in `block in up'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:70:in `block (2 levels) in find_each'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:70:in `each'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:70:in `block in find_each'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:136:in `block in find_in_batches'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:238:in `block in in_batches'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:222:in `loop'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:222:in `in_batches'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:135:in `find_in_batches'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:69:in `find_each'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/querying.rb:11:in `find_each'
/Users/marc/code/decidim-apps/metadecidim/db/migrate/20210301101419_encrypt_authorization_metadatas.decidim.rb:6:in `up'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:817:in `exec_migration'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:798:in `block (2 levels) in migrate'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/benchmark.rb:293:in `measure'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:797:in `block in migrate'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `with_connection'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:796:in `migrate'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:977:in `migrate'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:1292:in `block in execute_migration_in_transaction'
/Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:1343:in `block in ddl_transaction'
...
```
I've tried both using the development secret key base for the app and the one set in production, and both attempts fail with this error.
The errored line is this one:
|
verification_metadata: auth.verification_metadata |
It seems to be failing for postal_code verifications/authorizations: only those that have a value in the verification_metadata fail.
To Reproduce
Steps to reproduce the behavior:
- Download the production DB from an application.
- Update to Decidim v0.24.0.rc1
- Run migrations
- See the migration fail
Expected behavior
Migration should pass correctly.
Extra data (please complete the following information):
- Decidim Version: v0.24.0.rc1
- Decidim installation: Metadecidim
Additional context
None
Describe the bug
The migration added in #6947 fails with this error using production data:
Stacktrace
``` ActiveSupport::MessageVerifier::InvalidSignature: ActiveSupport::MessageVerifier::InvalidSignature /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-5.2.4.5/lib/active_support/message_verifier.rb:176:in `verify' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-5.2.4.5/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-5.2.4.5/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/attribute_encryptor.rb:10:in `decrypt' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:105:in `decrypt_value' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:119:in `block in decrypt_hash_values' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:119:in `transform_values' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:119:in `decrypt_hash_values' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/decidim-core-0.24.0.rc1/lib/decidim/record_encryptor.rb:69:in `verification_metadata' /Users/marc/code/decidim-apps/metadecidim/db/migrate/20210301101419_encrypt_authorization_metadatas.decidim.rb:11:in `block in up' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:70:in `block (2 levels) in find_each' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:70:in `each' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:70:in `block in find_each' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:136:in `block in find_in_batches' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:238:in `block in in_batches' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:222:in `loop' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:222:in `in_batches' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:135:in `find_in_batches' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/relation/batches.rb:69:in `find_each' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/querying.rb:11:in `find_each' /Users/marc/code/decidim-apps/metadecidim/db/migrate/20210301101419_encrypt_authorization_metadatas.decidim.rb:6:in `up' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:817:in `exec_migration' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:798:in `block (2 levels) in migrate' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/2.7.0/benchmark.rb:293:in `measure' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:797:in `block in migrate' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `with_connection' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:796:in `migrate' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:977:in `migrate' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:1292:in `block in execute_migration_in_transaction' /Users/marc/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-5.2.4.5/lib/active_record/migration.rb:1343:in `block in ddl_transaction' ... ```I've tried both using the development secret key base for the app and the one set in production, and both attempts fail with this error.
The errored line is this one:
decidim/decidim-core/db/migrate/20201127114444_encrypt_authorization_metadatas.rb
Line 10 in ef5a5e5
It seems to be failing for
postal_codeverifications/authorizations: only those that have a value in theverification_metadatafail.To Reproduce
Steps to reproduce the behavior:
Expected behavior
Migration should pass correctly.
Extra data (please complete the following information):
Additional context
None