Ruby on Rails Authlogic password not valid

徘徊边缘 提交于 2019-12-23 18:42:55

问题


I am trying to implement Authlogic. Registering is fine, it enters all the necessary details into my database..

.. but when I try to log in, it gives me the error:

1 error prohibited this user session from being saved

There were problems with the following fields:

Password is not valid

My password is valid. I am not sure what is happening. Any ideas?


回答1:


I had the same problem, and it was because I was migrating from Restful authentication. The issue was: Restful authentication puts a 40 char cap on password-salt and crypted-password. the hashes generated by authlogic are larger than that.

class RemovePasswordSaltCap < ActiveRecord::Migration
  def self.up
    change_column :users, :password_salt, :string, :limit => nil
    change_column :users, :crypted_password, :string, :limit => nil
  end
end

Found this answer in the fine manual.

the fine manual




回答2:


In your user model, try this:

class User < ActiveRecord::Base

  acts_as_authentic do |c|
    c.validate_password_field = false
  end

end

Then try to log in again. If that works, then you will know that the authlogic default validations were tripping you up.

You can also try

valid_password?(attempted_password, check_against_database = check_passwords_against_database?)

with the console




回答3:


I was getting the same error and my problem was that I wasn't using the REST_AUTH_SITE_KEY key value that I previously used with restful authentication.

I added the key value and everything works :)




回答4:


If upgrading to authlogic the default crypto_provider has changed from Sha512 to SCrypt so it might be a case that passwords are broken. Check out the authlogic readme



来源:https://stackoverflow.com/questions/1475128/ruby-on-rails-authlogic-password-not-valid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!