Rails (6.0.4.1):从使用 SCRYPT 设计 (4.8.1) 的 Authlogic (6.4.1) 迁移
Rails (6.0.4.1): Migrating from Authlogic (6.4.1) that was using SCRYPT to Devise (4.8.1)
我真的希望在我们迁移到 Devise 时允许当前使用 Authlogic (6.4.1) 的 Rails 应用程序 (6.0.4.1) 上的现有用户能够使用现有密码登录(4.8.1).
我看到的每篇文章都很好地解释了如果加密是 SHA-512 如何做到这一点。在这些情况下,您修改 config/initializers/devise.rb
并设置 config.encryptor = :authlogic_sha512
(来源:https://gist.github.com/rpheath/8343779)。
但是,在某些时候,我们的应用程序从 SHA-512 迁移到 SCRYPT,方法是执行以下操作以顺利过渡用户:
acts_as_authentic do |c|
c.transition_from_crypto_providers = [Authlogic::CryptoProviders::Sha512]
c.crypto_provider = Authlogic::CryptoProviders::SCrypt
end
我现在遇到的问题是我不知道如何在此用例中正确迁移到 Devise。我知道我们的用户 table 有(在设计之前)一个 crypted_password
和 password_salt
字段。 SCRYPT 似乎有更多设置需要配置。
非常感谢您提供的任何帮助。谢谢!
每 https://github.com/heartcombo/devise/issues/3779, use devise-scrypt.
The common solution for this still seems to be using the devise-encryptors and devise-scrypt gems which means a number of additional of moving parts.
Yes, Devise supports other encryptors via extensions, that's the way to go. -José Valim
我真的希望在我们迁移到 Devise 时允许当前使用 Authlogic (6.4.1) 的 Rails 应用程序 (6.0.4.1) 上的现有用户能够使用现有密码登录(4.8.1).
我看到的每篇文章都很好地解释了如果加密是 SHA-512 如何做到这一点。在这些情况下,您修改 config/initializers/devise.rb
并设置 config.encryptor = :authlogic_sha512
(来源:https://gist.github.com/rpheath/8343779)。
但是,在某些时候,我们的应用程序从 SHA-512 迁移到 SCRYPT,方法是执行以下操作以顺利过渡用户:
acts_as_authentic do |c|
c.transition_from_crypto_providers = [Authlogic::CryptoProviders::Sha512]
c.crypto_provider = Authlogic::CryptoProviders::SCrypt
end
我现在遇到的问题是我不知道如何在此用例中正确迁移到 Devise。我知道我们的用户 table 有(在设计之前)一个 crypted_password
和 password_salt
字段。 SCRYPT 似乎有更多设置需要配置。
非常感谢您提供的任何帮助。谢谢!
每 https://github.com/heartcombo/devise/issues/3779, use devise-scrypt.
The common solution for this still seems to be using the devise-encryptors and devise-scrypt gems which means a number of additional of moving parts.
Yes, Devise supports other encryptors via extensions, that's the way to go. -José Valim