更新 authlogic 不识别以前的旧密码

updating authlogic not recognizing old previous passwords

我在使用 rails 3.2.2 时使用 authlogic 3.0.0。现在我已经将 rails 版本更新为 5.1.4。并将 authlogic 升级到 4.0.1.

现在我之前保存的所有密码都无法被 authlogic 识别。 它说密码无效。所以我必须再次更新我的密码。这不是理想的行为。我需要做哪些更改才能使我之前保存的密码在新的 authlogic 版本上再次起作用。

如有任何帮助,我们将不胜感激。

这是我解决问题的方法,

User.rb

  acts_as_authentic do |c|
    c.crypto_provider = Authlogic::CryptoProviders::Sha512
  end

在 3.4.0 版本中,默认 crypto_provider 由 Sha512 更改为 SCrypt。

如果您从未设置 crypto_provider 并且正在升级,除非您设置原始密码,否则您的密码将被破解:

c.crypto_provider = Authlogic::CryptoProviders::Sha512

如果您想在用户登录时自动从 Sha512 升级到 SCrypt:

c.transition_from_crypto_providers = [Authlogic::CryptoProviders::Sha512]
c.crypto_provider = Authlogic::CryptoProviders::SCrypt