Я недавно заставил Devise работать. Новые пользователи, вход, регистрация, выход и т. Д. И т. Д. Просто отлично. Старые пользователи, однако, имеют проблемы. Я получил его до такой степени, что я получаю 401 несанкционированный, который мне кажется, что хэш просто неправильно создается при входе в систему и, конечно, не совпадает правильно.
Моя модель пользователя:
class User < ActiveRecord::Base
require "digest/sha1"
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :encryptable, :encryptor => :old_cakephp_auth
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
has_many :events
end
Cakephp использует sha1, но я не знаю специфики того, как он работает. Это явно не работает, поэтому я здесь:
require "digest/sha1"
module Devise
module Encryptors
class OldCakephpAuth < Base
def self.digest(password, stretches, salt, pepper)
Digest::SHA1.hexdigest("#{salt}#{password}")
end
end
end
end
Я получил это от того, как добавить пример специального шифратора. У них было это:
Digest::SHA1.hexdigest("--#{salt}--#{password}--")
Это тоже не сработало. У кого-нибудь есть идеи?