私はAuthlogicを実装しようとしています。登録は問題ありません。必要なすべての詳細がデータベースに入力されます..
..しかし、ログインしようとすると、次のエラーが表示されます。
1 つのエラーにより、このユーザー セッションの保存が禁止されました
次のフィールドに問題がありました:
パスワードが無効です
私のパスワードは有効です。何が起こっているのかわかりません。何か案は?
私はAuthlogicを実装しようとしています。登録は問題ありません。必要なすべての詳細がデータベースに入力されます..
..しかし、ログインしようとすると、次のエラーが表示されます。
1 つのエラーにより、このユーザー セッションの保存が禁止されました
次のフィールドに問題がありました:
パスワードが無効です
私のパスワードは有効です。何が起こっているのかわかりません。何か案は?
同じ問題が発生しました。これは、Restful認証から移行していたためです。問題は次のとおりです。RESTful認証では、password-saltとcrypted-passwordに40文字の上限が設定されます。authlogicによって生成されたハッシュはそれよりも大きくなります。
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
細かいマニュアルでこの答えを見つけました。
ユーザーモデルで、これを試してください:
class User < ActiveRecord::Base
acts_as_authentic do |c|
c.validate_password_field = false
end
end
その後、再度ログインを試みます。それが機能する場合は、authlogic のデフォルトの検証があなたをつまずかせていたことがわかります。
あなたも試すことができます
valid_password?(attempted_password, check_against_database = check_passwords_against_database?)
コンソールで
authlogic にアップグレードすると、デフォルトの crypto_provider が からSha512
に変更されたSCrypt
ため、パスワードが壊れている可能性があります。authlogic の
readmeを確認してください
同じエラーが発生しましたが、問題は、以前に安静認証で使用していた REST_AUTH_SITE_KEY キー値を使用していなかったことです。
キー値を追加すると、すべてが機能します:)