module Authlogic::ActsAsAuthentic::RestfulAuthentication::Config
Public Instance Methods
Switching an existing app to Authlogic from restful_authentication? No problem, just set this true and your users won't know anything changed. From your database perspective nothing will change at all. Authlogic will continue to encrypt passwords just like restful_authentication, so your app won't skip a beat. Although, might consider transitioning your users to a newer and stronger algorithm. Checkout the #transition_from_restful_authentication option.
-
Default:
false -
Accepts:
Boolean
# File lib/authlogic/acts_as_authentic/restful_authentication.rb, line 20 def act_like_restful_authentication(value = nil) r = rw_config(:act_like_restful_authentication, value, false) set_restful_authentication_config if value r end
This works just like #act_like_restful_authentication except that it will start transitioning your users to the algorithm you specify with the crypto provider option. The next time they log in it will resave their password with the new algorithm and any new record will use the new algorithm as well. Make sure to update your users table if you are using the default migration since it will set crypted_password and salt columns to a maximum width of 40 characters which is not enough.
# File lib/authlogic/acts_as_authentic/restful_authentication.rb, line 31 def transition_from_restful_authentication(value = nil) r = rw_config(:transition_from_restful_authentication, value, false) set_restful_authentication_config if value r end
Private Instance Methods
# File lib/authlogic/acts_as_authentic/restful_authentication.rb, line 39 def set_restful_authentication_config crypto_provider_key = act_like_restful_authentication ? :crypto_provider : :transition_from_crypto_providers self.send("#{crypto_provider_key}=", CryptoProviders::Sha1) if !defined?(::REST_AUTH_SITE_KEY) || ::REST_AUTH_SITE_KEY.nil? class_eval("::REST_AUTH_SITE_KEY = ''") if !defined?(::REST_AUTH_SITE_KEY) CryptoProviders::Sha1.stretches = 1 end end