devise 3.0.4 → 3.1.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of devise might be problematic. Click here for more details.

Files changed (52) hide show
  1. data/{CHANGELOG.rdoc → CHANGELOG.md} +41 -30
  2. data/Gemfile.lock +14 -13
  3. data/README.md +12 -11
  4. data/app/controllers/devise/confirmations_controller.rb +6 -2
  5. data/app/controllers/devise/registrations_controller.rb +2 -2
  6. data/app/controllers/devise/sessions_controller.rb +1 -1
  7. data/app/mailers/devise/mailer.rb +6 -3
  8. data/app/views/devise/mailer/confirmation_instructions.html.erb +1 -1
  9. data/app/views/devise/mailer/reset_password_instructions.html.erb +1 -1
  10. data/app/views/devise/mailer/unlock_instructions.html.erb +1 -1
  11. data/app/views/devise/shared/_links.erb +2 -2
  12. data/config/locales/en.yml +2 -2
  13. data/devise.gemspec +1 -0
  14. data/gemfiles/Gemfile.rails-3.2.x.lock +45 -42
  15. data/lib/devise.rb +20 -13
  16. data/lib/devise/controllers/helpers.rb +1 -0
  17. data/lib/devise/hooks/rememberable.rb +2 -1
  18. data/lib/devise/mailers/helpers.rb +0 -6
  19. data/lib/devise/models.rb +8 -12
  20. data/lib/devise/models/authenticatable.rb +8 -16
  21. data/lib/devise/models/confirmable.rb +27 -37
  22. data/lib/devise/models/lockable.rb +15 -17
  23. data/lib/devise/models/recoverable.rb +21 -27
  24. data/lib/devise/models/token_authenticatable.rb +4 -1
  25. data/lib/devise/parameter_sanitizer.rb +49 -19
  26. data/lib/devise/rails.rb +7 -11
  27. data/lib/devise/rails/routes.rb +12 -9
  28. data/lib/devise/rails/warden_compat.rb +1 -0
  29. data/lib/devise/strategies/authenticatable.rb +0 -12
  30. data/lib/devise/strategies/database_authenticatable.rb +3 -6
  31. data/lib/devise/token_generator.rb +70 -0
  32. data/lib/devise/version.rb +1 -1
  33. data/lib/generators/templates/devise.rb +14 -8
  34. data/test/controllers/passwords_controller_test.rb +3 -4
  35. data/test/failure_app_test.rb +1 -1
  36. data/test/integration/confirmable_test.rb +16 -41
  37. data/test/integration/lockable_test.rb +11 -14
  38. data/test/integration/recoverable_test.rb +23 -15
  39. data/test/mailers/confirmation_instructions_test.rb +6 -2
  40. data/test/mailers/reset_password_instructions_test.rb +6 -2
  41. data/test/mailers/unlock_instructions_test.rb +6 -2
  42. data/test/models/confirmable_test.rb +20 -30
  43. data/test/models/lockable_test.rb +15 -5
  44. data/test/models/recoverable_test.rb +20 -48
  45. data/test/models_test.rb +0 -19
  46. data/test/parameter_sanitizer_test.rb +23 -9
  47. data/test/rails_app/config/initializers/devise.rb +3 -0
  48. data/test/rails_app/lib/shared_admin.rb +3 -0
  49. data/test/rails_app/lib/shared_user.rb +4 -0
  50. data/test/support/helpers.rb +0 -21
  51. metadata +23 -7
  52. data/app/views/devise/_links.erb +0 -3
@@ -1,14 +1,25 @@
1
- == 3.0.4
1
+ == 3.1.0.rc2
2
2
 
3
- Security announcement: http://blog.plataformatec.com.br/2013/11/e-mail-enumeration-in-devise-in-paranoid-mode
3
+ Security announcement: http://blog.plataformatec.com.br/2013/08/devise-3-1-now-with-more-secure-defaults/
4
4
 
5
- * bug fix
6
- * Avoid e-mail enumeration on sign in when in paranoid mode
5
+ * backwards incompatible changes
6
+ * Do not store confirmation, unlock and reset password tokens directly in the database. This means tokens previously stored in the database are no longer valid. You can reenable this temporarily by setting `config.allow_insecure_tokens_lookup = true` in your configuration file. It is recommended to keep this configuration set to true just temporarily in your production servers only to aid migration
7
+ * The Devise mailer and its views were changed to explicitly receive a token as argument. You will need to update your mailers and re-copy the views to your application with `rails g devise:views`
8
+ * Sanitization of parameters should be done by calling `devise_parameter_sanitizier.sanitize(:action)` instead of `devise_parameter_sanitizier.for(:action)`
9
+
10
+ * deprecations
11
+ * Token authentication is deprecated
7
12
 
8
- == 3.0.3
13
+ * enhancements
14
+ * Better security defaults
15
+ * Allow easier customization of parameter sanitizer (by @alexpeattie)
9
16
 
10
17
  * bug fix
11
- * Do not confirm account after reset password
18
+ * Do not confirm e-mail after password reset
19
+ * Do not sign in after confirmation
20
+ * Do not store confirmation, unlock and reset password tokens directly in the database
21
+ * Do not compare directly against confirmation, unlock and reset password tokens
22
+ * Skip storage for cookies on unverified requests
12
23
 
13
24
  == 3.0.2
14
25
 
@@ -652,7 +663,7 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
652
663
  * Added Registerable
653
664
  * Added Http Basic Authentication support
654
665
  * Allow scoped_views to be customized per controller/mailer class
655
- * [#99] Allow authenticatable to used in change_table statements
666
+ * Allow authenticatable to used in change_table statements
656
667
 
657
668
  == 0.9.2
658
669
 
@@ -792,19 +803,19 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
792
803
  * Added DataMapper support
793
804
  * Remove store_location from authenticatable strategy and add it to failure app
794
805
  * Allow a strategy to be placed after authenticatable
795
- * [#45] Do not rely attribute? methods, since they are not added on Datamapper
806
+ * Do not rely attribute? methods, since they are not added on Datamapper
796
807
 
797
808
  == 0.5.6
798
809
 
799
810
  * enhancements
800
- * [#42] Do not send nil to build (DataMapper compatibility)
801
- * [#44] Allow to have scoped views
811
+ * Do not send nil to build (DataMapper compatibility)
812
+ * Allow to have scoped views
802
813
 
803
814
  == 0.5.5
804
815
 
805
816
  * enhancements
806
817
  * Allow overwriting find for authentication method
807
- * [#38] Remove Ruby 1.8.7 dependency
818
+ * Remove Ruby 1.8.7 dependency
808
819
 
809
820
  == 0.5.4
810
821
 
@@ -812,7 +823,7 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
812
823
  * Deprecate :singular in devise_for and use :scope instead
813
824
 
814
825
  * enhancements
815
- * [#37] Create after_sign_in_path_for and after_sign_out_path_for hooks to be
826
+ * Create after_sign_in_path_for and after_sign_out_path_for hooks to be
816
827
  overwriten in ApplicationController
817
828
  * Create sign_in_and_redirect and sign_out_and_redirect helpers
818
829
  * Warden::Manager.default_scope is automatically configured to the first given scope
@@ -824,7 +835,7 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
824
835
  * Ensure all controllers are unloadable
825
836
 
826
837
  * enhancements
827
- * [#35] Moved friendly_token to Devise
838
+ * Moved friendly_token to Devise
828
839
  * Added Devise.all, so you can freeze your app strategies
829
840
  * Added Devise.apply_schema, so you can turn it to false in Datamapper or MongoMapper
830
841
  in cases you don't want it be handlded automatically
@@ -832,9 +843,9 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
832
843
  == 0.5.2
833
844
 
834
845
  * enhancements
835
- * [#28] Improved sign_in and sign_out helpers to accepts resources
836
- * [#28] Added stored_location_for as a helper
837
- * [#20] Added test helpers
846
+ * Improved sign_in and sign_out helpers to accepts resources
847
+ * Added stored_location_for as a helper
848
+ * Added test helpers
838
849
 
839
850
  == 0.5.1
840
851
 
@@ -855,7 +866,7 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
855
866
  == 0.4.3
856
867
 
857
868
  * bug fix
858
- * [#29] Authentication just fails if user cannot be serialized from session, without raising errors;
869
+ * Authentication just fails if user cannot be serialized from session, without raising errors;
859
870
  * Default configuration values should not overwrite user values;
860
871
 
861
872
  == 0.4.2
@@ -873,7 +884,7 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
873
884
  == 0.4.1
874
885
 
875
886
  * bug fix
876
- * [#21] Ensure options can be set even if models were not loaded
887
+ * Ensure options can be set even if models were not loaded
877
888
 
878
889
  == 0.4.0
879
890
 
@@ -884,25 +895,25 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
884
895
  * :authenticable calls are deprecated, use :authenticatable instead
885
896
 
886
897
  * enhancements
887
- * [#16] Allow devise to be more agnostic and do not require ActiveRecord to be loaded
898
+ * Allow devise to be more agnostic and do not require ActiveRecord to be loaded
888
899
  * Allow Warden::Manager to be configured through Devise
889
900
  * Created a generator which creates an initializer
890
901
 
891
902
  == 0.3.0
892
903
 
893
904
  * bug fix
894
- * [#15] Allow yml messages to be configured by not using engine locales
905
+ * Allow yml messages to be configured by not using engine locales
895
906
 
896
907
  * deprecations
897
908
  * Renamed confirm_in to confirm_within
898
- * [#14] Do not send confirmation messages when user changes his e-mail
899
- * [#13] Renamed authenticable to authenticatable and added deprecation warnings
909
+ * Do not send confirmation messages when user changes his e-mail
910
+ * Renamed authenticable to authenticatable and added deprecation warnings
900
911
 
901
912
  == 0.2.3
902
913
 
903
914
  * enhancements
904
915
  * Ensure fail! works inside strategies
905
- * [#12] Make unauthenticated message (when you haven't signed in) different from invalid message
916
+ * Make unauthenticated message (when you haven't signed in) different from invalid message
906
917
 
907
918
  * bug fix
908
919
  * Do not redirect on invalid authenticate
@@ -911,7 +922,7 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
911
922
  == 0.2.2
912
923
 
913
924
  * bug fix
914
- * [#9] Fix a bug when using customized resources
925
+ * Fix a bug when using customized resources
915
926
 
916
927
  == 0.2.1
917
928
 
@@ -919,17 +930,17 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
919
930
  * Clean devise_views generator to use devise existing views
920
931
 
921
932
  * enhancements
922
- * [#7] Create instance variables (like @user) for each devise controller
933
+ * Create instance variables (like @user) for each devise controller
923
934
  * Use Devise::Controller::Helpers only internally
924
935
 
925
936
  * bug fix
926
- * [#6] Fix a bug with Mongrel and Ruby 1.8.6
937
+ * Fix a bug with Mongrel and Ruby 1.8.6
927
938
 
928
939
  == 0.2.0
929
940
 
930
941
  * enhancements
931
- * [#4] Allow option :null => true in authenticable migration
932
- * [#3] Remove attr_accessible calls from devise modules
942
+ * Allow option :null => true in authenticable migration
943
+ * Remove attr_accessible calls from devise modules
933
944
  * Customizable time frame for rememberable with :remember_for config
934
945
  * Customizable time frame for confirmable with :confirm_in config
935
946
  * Generators for creating a resource and copy views
@@ -938,12 +949,12 @@ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.
938
949
  * Do not load hooks or strategies if they are not used
939
950
 
940
951
  * bug fixes
941
- * [#2] Fixed requiring devise strategies
952
+ * Fixed requiring devise strategies
942
953
 
943
954
  == 0.1.1
944
955
 
945
956
  * bug fixes
946
- * [#1] Fixed requiring devise mapping
957
+ * Fixed requiring devise mapping
947
958
 
948
959
  == 0.1.0
949
960
 
@@ -1,21 +1,22 @@
1
1
  GIT
2
2
  remote: git://github.com/mongoid/mongoid.git
3
- revision: fe7f43430580860db6d1d89cea27eda24ab60ab1
3
+ revision: 346a79a7d01aa194de80e649916239a18d38ce13
4
4
  branch: master
5
5
  specs:
6
6
  mongoid (4.0.0)
7
- activemodel (~> 4.0.0.rc1)
8
- moped (~> 1.4.2)
7
+ activemodel (~> 4.0.0)
8
+ moped (~> 1.5)
9
9
  origin (~> 1.0)
10
10
  tzinfo (~> 0.3.22)
11
11
 
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- devise (3.0.4)
15
+ devise (3.1.0.rc2)
16
16
  bcrypt-ruby (~> 3.0)
17
17
  orm_adapter (~> 0.1)
18
18
  railties (>= 3.2.6, < 5)
19
+ thread_safe (~> 0.1)
19
20
  warden (~> 1.2.3)
20
21
 
21
22
  GEM
@@ -46,17 +47,17 @@ GEM
46
47
  thread_safe (~> 0.1)
47
48
  tzinfo (~> 0.3.37)
48
49
  arel (4.0.0)
49
- atomic (1.1.10)
50
- bcrypt-ruby (3.1.2)
50
+ atomic (1.1.12)
51
+ bcrypt-ruby (3.1.1)
51
52
  builder (3.1.4)
52
53
  erubis (2.7.0)
53
- faraday (0.8.7)
54
- multipart-post (~> 1.1)
54
+ faraday (0.8.8)
55
+ multipart-post (~> 1.2.0)
55
56
  hashie (1.2.0)
56
57
  hike (1.2.3)
57
58
  httpauth (0.2.0)
58
- i18n (0.6.4)
59
- json (1.7.7)
59
+ i18n (0.6.5)
60
+ json (1.8.0)
60
61
  jwt (0.1.8)
61
62
  multi_json (>= 1.5)
62
63
  mail (2.5.4)
@@ -67,8 +68,8 @@ GEM
67
68
  minitest (4.7.5)
68
69
  mocha (0.13.3)
69
70
  metaclass (~> 0.0.1)
70
- moped (1.4.5)
71
- multi_json (1.7.7)
71
+ moped (1.5.1)
72
+ multi_json (1.7.9)
72
73
  multipart-post (1.2.0)
73
74
  nokogiri (1.5.9)
74
75
  oauth2 (0.8.1)
@@ -125,7 +126,7 @@ GEM
125
126
  sprockets (~> 2.8)
126
127
  sqlite3 (1.3.7)
127
128
  thor (0.18.1)
128
- thread_safe (0.1.0)
129
+ thread_safe (0.1.2)
129
130
  atomic
130
131
  tilt (1.4.1)
131
132
  treetop (1.4.14)
data/README.md CHANGED
@@ -15,10 +15,9 @@ Devise is a flexible authentication solution for Rails based on Warden. It:
15
15
  * Allows you to have multiple models signed in at the same time;
16
16
  * Is based on a modularity concept: use just what you really need.
17
17
 
18
- It's composed of 11 modules:
18
+ It's composed of 10 modules:
19
19
 
20
20
  * [Database Authenticatable](http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/DatabaseAuthenticatable): encrypts and stores a password in the database to validate the authenticity of a user while signing in. The authentication can be done both through POST requests or HTTP Basic Authentication.
21
- * [Token Authenticatable](http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable): signs in a user based on an authentication token (also known as "single access token"). The token can be given both through query string or HTTP Basic Authentication.
22
21
  * [Omniauthable](http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Omniauthable): adds Omniauth (https://github.com/intridea/omniauth) support;
23
22
  * [Confirmable](http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Confirmable): sends emails with confirmation instructions and verifies whether an account is already confirmed during sign in.
24
23
  * [Recoverable](http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Recoverable): resets the user password and sends reset instructions.
@@ -188,7 +187,7 @@ There are just three actions in Devise that allows any set of parameters to be p
188
187
  * `sign_up` (`Devise::RegistrationsController#create`) - Permits authentication keys plus `password` and `password_confirmation`
189
188
  * `account_update` (`Devise::RegistrationsController#update`) - Permits authentication keys plus `password`, `password_confirmation` and `current_password`
190
189
 
191
- In case you want to customize the permitted parameters (the lazy way™) you can do with a simple before filter in your `ApplicationController`:
190
+ In case you want to permit additional parameters (the lazy way™) you can do with a simple before filter in your `ApplicationController`:
192
191
 
193
192
  ```ruby
194
193
  class ApplicationController < ActionController::Base
@@ -197,11 +196,19 @@ class ApplicationController < ActionController::Base
197
196
  protected
198
197
 
199
198
  def configure_permitted_parameters
200
- devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) }
199
+ devise_parameter_sanitizer.for(:sign_up) << :username
201
200
  end
202
201
  end
203
202
  ```
204
203
 
204
+ To completely change Devise defaults or invoke custom behaviour, you can also pass a block:
205
+
206
+ ```ruby
207
+ def configure_permitted_parameters
208
+ devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) }
209
+ end
210
+ ```
211
+
205
212
  If you have multiple Devise models, you may want to set up different parameter sanitizer per model. In this case, we recommend inheriting from `Devise::ParameterSanitizer` and add your own logic:
206
213
 
207
214
  ```ruby
@@ -252,7 +259,7 @@ rails generate devise:views users
252
259
 
253
260
  If the customization at the views level is not enough, you can customize each controller by following these steps:
254
261
 
255
- 1. Create your custom controller, for example a `Admins::SessionsController`:
262
+ 1. Create your custom controller, for example a `Admins::SessionsController`:
256
263
 
257
264
  ```ruby
258
265
  class Admins::SessionsController < Devise::SessionsController
@@ -441,12 +448,6 @@ We have a long list of valued contributors. Check them all at:
441
448
 
442
449
  https://github.com/plataformatec/devise/contributors
443
450
 
444
- ### Maintainers
445
-
446
- * José Valim (https://github.com/josevalim)
447
- * Carlos Antônio da Silva (https://github.com/carlosantoniodasilva)
448
- * Rodrigo Flores (https://github.com/rodrigoflores)
449
-
450
451
  ## License
451
452
 
452
453
  MIT License. Copyright 2009-2013 Plataformatec. http://plataformatec.com.br
@@ -21,7 +21,7 @@ class Devise::ConfirmationsController < DeviseController
21
21
 
22
22
  if resource.errors.empty?
23
23
  set_flash_message(:notice, :confirmed) if is_navigational_format?
24
- sign_in(resource_name, resource)
24
+ sign_in(resource_name, resource) if Devise.allow_insecure_sign_in_after_confirmation
25
25
  respond_with_navigational(resource){ redirect_to after_confirmation_path_for(resource_name, resource) }
26
26
  else
27
27
  respond_with_navigational(resource.errors, :status => :unprocessable_entity){ render :new }
@@ -37,6 +37,10 @@ class Devise::ConfirmationsController < DeviseController
37
37
 
38
38
  # The path used after confirmation.
39
39
  def after_confirmation_path_for(resource_name, resource)
40
- after_sign_in_path_for(resource)
40
+ if Devise.allow_insecure_sign_in_after_confirmation
41
+ after_sign_in_path_for(resource)
42
+ else
43
+ new_session_path(resource_name)
44
+ end
41
45
  end
42
46
  end
@@ -117,10 +117,10 @@ class Devise::RegistrationsController < DeviseController
117
117
  end
118
118
 
119
119
  def sign_up_params
120
- devise_parameter_sanitizer.for(:sign_up)
120
+ devise_parameter_sanitizer.sanitize(:sign_up)
121
121
  end
122
122
 
123
123
  def account_update_params
124
- devise_parameter_sanitizer.for(:account_update)
124
+ devise_parameter_sanitizer.sanitize(:account_update)
125
125
  end
126
126
  end
@@ -35,7 +35,7 @@ class Devise::SessionsController < DeviseController
35
35
  protected
36
36
 
37
37
  def sign_in_params
38
- devise_parameter_sanitizer.for(:sign_in)
38
+ devise_parameter_sanitizer.sanitize(:sign_in)
39
39
  end
40
40
 
41
41
  def serialize_options(resource)
@@ -1,15 +1,18 @@
1
1
  class Devise::Mailer < Devise.parent_mailer.constantize
2
2
  include Devise::Mailers::Helpers
3
3
 
4
- def confirmation_instructions(record, opts={})
4
+ def confirmation_instructions(record, token, opts={})
5
+ @token = token
5
6
  devise_mail(record, :confirmation_instructions, opts)
6
7
  end
7
8
 
8
- def reset_password_instructions(record, opts={})
9
+ def reset_password_instructions(record, token, opts={})
10
+ @token = token
9
11
  devise_mail(record, :reset_password_instructions, opts)
10
12
  end
11
13
 
12
- def unlock_instructions(record, opts={})
14
+ def unlock_instructions(record, token, opts={})
15
+ @token = token
13
16
  devise_mail(record, :unlock_instructions, opts)
14
17
  end
15
18
  end
@@ -2,4 +2,4 @@
2
2
 
3
3
  <p>You can confirm your account email through the link below:</p>
4
4
 
5
- <p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
5
+ <p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @token) %></p>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <p>Someone has requested a link to change your password. You can do this through the link below.</p>
4
4
 
5
- <p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
5
+ <p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @token) %></p>
6
6
 
7
7
  <p>If you didn't request this, please ignore this email.</p>
8
8
  <p>Your password won't change until you access the link above and create a new one.</p>
@@ -4,4 +4,4 @@
4
4
 
5
5
  <p>Click the link below to unlock your account:</p>
6
6
 
7
- <p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
7
+ <p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @token) %></p>
@@ -6,7 +6,7 @@
6
6
  <%= link_to "Sign up", new_registration_path(resource_name) %><br />
7
7
  <% end -%>
8
8
 
9
- <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
9
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
10
10
  <%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
11
11
  <% end -%>
12
12
 
@@ -22,4 +22,4 @@
22
22
  <%- resource_class.omniauth_providers.each do |provider| %>
23
23
  <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %><br />
24
24
  <% end -%>
25
- <% end -%>
25
+ <% end -%>
@@ -8,12 +8,12 @@ en:
8
8
  send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes."
9
9
  failure:
10
10
  already_authenticated: "You are already signed in."
11
- inactive: "Your account was not activated yet."
11
+ inactive: "Your account is not activated yet."
12
12
  invalid: "Invalid email or password."
13
13
  invalid_token: "Invalid authentication token."
14
14
  locked: "Your account is locked."
15
15
  not_found_in_database: "Invalid email or password."
16
- timeout: "Your session expired, please sign in again to continue."
16
+ timeout: "Your session expired. Please sign in again to continue."
17
17
  unauthenticated: "You need to sign in or sign up before continuing."
18
18
  unconfirmed: "You have to confirm your account before continuing."
19
19
  mailer:
@@ -22,5 +22,6 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency("warden", "~> 1.2.3")
23
23
  s.add_dependency("orm_adapter", "~> 0.1")
24
24
  s.add_dependency("bcrypt-ruby", "~> 3.0")
25
+ s.add_dependency("thread_safe", "~> 0.1")
25
26
  s.add_dependency("railties", ">= 3.2.6", "< 5")
26
27
  end
@@ -1,21 +1,22 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- devise (3.0.4)
4
+ devise (3.1.0.rc2)
5
5
  bcrypt-ruby (~> 3.0)
6
6
  orm_adapter (~> 0.1)
7
7
  railties (>= 3.2.6, < 5)
8
+ thread_safe (~> 0.1)
8
9
  warden (~> 1.2.3)
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
- actionmailer (3.2.13)
14
- actionpack (= 3.2.13)
15
- mail (~> 2.5.3)
16
- actionpack (3.2.13)
17
- activemodel (= 3.2.13)
18
- activesupport (= 3.2.13)
14
+ actionmailer (3.2.14)
15
+ actionpack (= 3.2.14)
16
+ mail (~> 2.5.4)
17
+ actionpack (3.2.14)
18
+ activemodel (= 3.2.14)
19
+ activesupport (= 3.2.14)
19
20
  builder (~> 3.0.0)
20
21
  erubis (~> 2.7.0)
21
22
  journey (~> 1.0.4)
@@ -23,49 +24,49 @@ GEM
23
24
  rack-cache (~> 1.2)
24
25
  rack-test (~> 0.6.1)
25
26
  sprockets (~> 2.2.1)
26
- activemodel (3.2.13)
27
- activesupport (= 3.2.13)
27
+ activemodel (3.2.14)
28
+ activesupport (= 3.2.14)
28
29
  builder (~> 3.0.0)
29
- activerecord (3.2.13)
30
- activemodel (= 3.2.13)
31
- activesupport (= 3.2.13)
30
+ activerecord (3.2.14)
31
+ activemodel (= 3.2.14)
32
+ activesupport (= 3.2.14)
32
33
  arel (~> 3.0.2)
33
34
  tzinfo (~> 0.3.29)
34
- activeresource (3.2.13)
35
- activemodel (= 3.2.13)
36
- activesupport (= 3.2.13)
37
- activesupport (3.2.13)
38
- i18n (= 0.6.1)
35
+ activeresource (3.2.14)
36
+ activemodel (= 3.2.14)
37
+ activesupport (= 3.2.14)
38
+ activesupport (3.2.14)
39
+ i18n (~> 0.6, >= 0.6.4)
39
40
  multi_json (~> 1.0)
40
41
  arel (3.0.2)
41
- bcrypt-ruby (3.1.2)
42
+ atomic (1.1.13)
43
+ bcrypt-ruby (3.1.1)
42
44
  builder (3.0.4)
43
45
  erubis (2.7.0)
44
- faraday (0.8.7)
45
- multipart-post (~> 1.1)
46
+ faraday (0.8.8)
47
+ multipart-post (~> 1.2.0)
46
48
  hashie (1.2.0)
47
- hike (1.2.2)
49
+ hike (1.2.3)
48
50
  httpauth (0.2.0)
49
- i18n (0.6.1)
51
+ i18n (0.6.5)
50
52
  journey (1.0.4)
51
- json (1.7.7)
53
+ json (1.8.0)
52
54
  jwt (0.1.8)
53
55
  multi_json (>= 1.5)
54
- mail (2.5.3)
55
- i18n (>= 0.4.0)
56
+ mail (2.5.4)
56
57
  mime-types (~> 1.16)
57
58
  treetop (~> 1.4.8)
58
59
  metaclass (0.0.1)
59
60
  mime-types (1.23)
60
61
  mocha (0.13.3)
61
62
  metaclass (~> 0.0.1)
62
- mongoid (3.1.3)
63
+ mongoid (3.1.4)
63
64
  activemodel (~> 3.2)
64
- moped (~> 1.4.2)
65
+ moped (~> 1.4)
65
66
  origin (~> 1.0)
66
67
  tzinfo (~> 0.3.22)
67
- moped (1.4.5)
68
- multi_json (1.7.3)
68
+ moped (1.5.1)
69
+ multi_json (1.7.9)
69
70
  multipart-post (1.2.0)
70
71
  nokogiri (1.5.9)
71
72
  oauth2 (0.8.1)
@@ -98,22 +99,22 @@ GEM
98
99
  rack
99
100
  rack-test (0.6.2)
100
101
  rack (>= 1.0)
101
- rails (3.2.13)
102
- actionmailer (= 3.2.13)
103
- actionpack (= 3.2.13)
104
- activerecord (= 3.2.13)
105
- activeresource (= 3.2.13)
106
- activesupport (= 3.2.13)
102
+ rails (3.2.14)
103
+ actionmailer (= 3.2.14)
104
+ actionpack (= 3.2.14)
105
+ activerecord (= 3.2.14)
106
+ activeresource (= 3.2.14)
107
+ activesupport (= 3.2.14)
107
108
  bundler (~> 1.0)
108
- railties (= 3.2.13)
109
- railties (3.2.13)
110
- actionpack (= 3.2.13)
111
- activesupport (= 3.2.13)
109
+ railties (= 3.2.14)
110
+ railties (3.2.14)
111
+ actionpack (= 3.2.14)
112
+ activesupport (= 3.2.14)
112
113
  rack-ssl (~> 1.3.2)
113
114
  rake (>= 0.8.7)
114
115
  rdoc (~> 3.4)
115
116
  thor (>= 0.14.6, < 2.0)
116
- rake (10.0.4)
117
+ rake (10.1.0)
117
118
  rdoc (3.12.2)
118
119
  json (~> 1.4)
119
120
  ruby-openid (2.2.3)
@@ -124,8 +125,10 @@ GEM
124
125
  tilt (~> 1.1, != 1.3.0)
125
126
  sqlite3 (1.3.7)
126
127
  thor (0.18.1)
127
- tilt (1.4.0)
128
- treetop (1.4.12)
128
+ thread_safe (0.1.2)
129
+ atomic
130
+ tilt (1.4.1)
131
+ treetop (1.4.14)
129
132
  polyglot
130
133
  polyglot (>= 0.3.1)
131
134
  tzinfo (0.3.37)