From bd41066b0ff77433d183e93bbdc4cc8423be5264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 25 Nov 2009 00:45:05 -0200 Subject: [PATCH] Update to latest Devise. --- app/models/admin.rb | 2 +- config/environment.rb | 2 +- config/initializers/devise.rb | 44 +++++++++++++++++++++-- db/migrate/20090916131255_create_users.rb | 1 + db/schema.rb | 5 +++ 5 files changed, 49 insertions(+), 5 deletions(-) diff --git a/app/models/admin.rb b/app/models/admin.rb index 7fa3ba4..1f5a239 100644 --- a/app/models/admin.rb +++ b/app/models/admin.rb @@ -1,3 +1,3 @@ class Admin < ActiveRecord::Base - devise :authenticatable, :validatable + devise :authenticatable, :timeoutable, :validatable, :timeout_in => 20.minutes end diff --git a/config/environment.rb b/config/environment.rb index 50bc656..80b687e 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -8,7 +8,7 @@ Rails::Initializer.run do |config| config.gem 'warden', :version => '0.6.4' - config.gem 'devise', :version => '0.6.1' + config.gem 'devise', :version => '0.6.2' config.gem 'rails-footnotes', :version => '3.6.3' config.time_zone = 'UTC' diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index d1084da..414b812 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -1,13 +1,32 @@ # Use this hook to configure devise mailer, warden hooks and so forth. The first # four configuration values can also be set straight in your models. Devise.setup do |config| + # Configure the frameworks used by default. You should always set this value + # because if Devise add a new strategy, it won't be added to your application + # by default, unless you configure it here. + config.all = [:authenticatable, :confirmable, :recoverable, :rememberable, :timeoutable, :trackable, :validatable] + # Invoke `rake secret` and use the printed value to setup a pepper to generate # the encrypted password. By default no pepper is used. - config.pepper = "r32e1cf6149e400510045342f2fffae09725d118b983d064c4057231ce733773ed7c7cd78e2788017ac1183e71d462c18efd014dc29fced70c67d1d20caa3a4ba" + # config.pepper = "rake secret output" # Configure how many times you want the password is reencrypted. Default is 10. # config.stretches = 10 + # Define which will be the encryption algorithm. Supported algorithms are :sha1 + # (default) and :sha512. Devise also supports encryptors from others authentication + # frameworks as :clearance_sha1, :authlogic_sha512 (then you should set stretches + # above to 20 for default behavior) and :restful_authentication_sha1 (then you + # should set stretches to 10, and copy REST_AUTH_SITE_KEY to pepper) + # config.encryptor = :sha1 + + # Configure which keys are used when authenticating an user. By default is + # just :email. You can configure it to use [:username, :subdomain], so for + # authenticating an user, both parameters are required. Remember that those + # parameters are used only when authenticating and not when retrieving from + # session. If you need permissions, you should implement that in a before filter. + # config.authentication_keys = [ :email ] + # The time you want give to your user to confirm his account. During this time # he will be able to access your application without confirming. Default is nil. # config.confirm_within = 2.days @@ -15,14 +34,26 @@ # The time the user will be remembered without asking for credentials again. # config.remember_for = 2.weeks + # The time you want to timeout the user session without activity. After this + # time the user will be asked for credentials again. + # config.timeout_in = 10.minutes + # Configure the e-mail address which will be shown in DeviseMailer. - # config.mail_sender = "foo.bar@yourapp.com" + # config.mailer_sender = "foo.bar@yourapp.com" + + # Configure the ORM. Supports :active_record, :data_mapper and :mongo_mapper. + # config.orm = :active_record + + # Turn scoped views on. Before rendering "sessions/new", it will first check for + # "sessions/users/new". It's turned off by default because it's slower if you + # are using only default views. + # config.scoped_views = true # If you want to use other strategies, that are not (yet) supported by Devise, # you can configure them inside the config.warden block. The example below # allows you to setup OAuth, using http://github.com/roman/warden_oauth # - # config.manager do |manager| + # config.warden do |manager| # manager.oauth(:twitter) do |twitter| # twitter.consumer_secret = # twitter.consumer_key = @@ -30,4 +61,11 @@ # end # manager.default_strategies.unshift :twitter_oauth # end + + # Configure default_url_options if you are using dynamic segments in :path_prefix + # for devise_for. + # + # config.default_url_options do + # { :locale => I18n.locale } + # end end diff --git a/db/migrate/20090916131255_create_users.rb b/db/migrate/20090916131255_create_users.rb index 028c889..1eb3dcb 100644 --- a/db/migrate/20090916131255_create_users.rb +++ b/db/migrate/20090916131255_create_users.rb @@ -5,6 +5,7 @@ def self.up t.confirmable t.recoverable t.rememberable + t.trackable t.timestamps end end diff --git a/db/schema.rb b/db/schema.rb index 3599728..c5e4f36 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -29,6 +29,11 @@ t.string "reset_password_token", :limit => 20 t.string "remember_token", :limit => 20 t.datetime "remember_created_at" + t.integer "sign_in_count" + t.datetime "current_sign_in_at" + t.datetime "last_sign_in_at" + t.string "current_sign_in_ip" + t.string "last_sign_in_ip" t.datetime "created_at" t.datetime "updated_at" end