forked from thoughtbot/clearance
-
Notifications
You must be signed in to change notification settings - Fork 1
Upgrading Clearance
croaky edited this page Mar 31, 2013
·
5 revisions
As of the 1.0.x series of Clearance, the following things are true:
- The module to include in your
ApplicationControllerisClearance::Controller, notClearance::Authentication. - The default encryption strategy is BCrypt, not SHA1.
To continue using SHA1 in your project, change the config option to this:
Clearance.configure do |config|
config.password_strategy = Clearance::PasswordStrategies::SHA1
endTo transition your users from SHA1 to BCrypt, change the config option to this:
Clearance.configure do |config|
config.password_strategy = Clearance::PasswordStrategies::BCryptMigrationFromSHA1
endAs of the 0.11.x series of Clearance, the following things are true:
- The way to protect your controller actions is via
before_filter :authorize, notbefore_filter :authenticate. - There is no email confirmation.
- There is no password confirmation.
- There is no dependency on dynamic_form.
- Email addresses are forced to lower case.
- The generators are namespaced by community convention:
rails g clearance:install,rails g clearance:features, andrails g clearance:views. - There are no Formtastic or Haml view generators.
- The email fields are all now of HTML5 type
email.
So, if you upgrading to the latest version of Clearance from an older version of Clearance, you may want to take at least some, if not all, of the following steps:
- Remove the
password_confirmationattribute from yourspec/factories.rbfile. - Remove the
password_confirmationfield from yourusers/newview. - Change
before_filter :authenticateeverywhere tobefore_filter :authorize. - Remove
form.error_messagesin any of your generatedusers/newandpasswords/editviews. - Re-generate the features:
rails g clearance:features. - Change the email fields in any of your generated
users/new,sessions/new, orpasswords/newviews. (necessary only to get features to pass) -
require 'shoulda/macros'becomesrequire 'shoulda/testing'
Write a migration to downcase the existing emails in your users table:
class DowncaseEmails < ActiveRecord::Migration
def up
update 'UPDATE users SET email = LOWER(email)'
end
end