devise_token_auth 0.1.43.beta1 → 0.1.43

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

Potentially problematic release.


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

Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/Rakefile +1 -0
  4. data/app/controllers/devise_token_auth/application_controller.rb +18 -2
  5. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +5 -0
  6. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +51 -38
  7. data/app/controllers/devise_token_auth/confirmations_controller.rb +3 -11
  8. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +3 -14
  9. data/app/controllers/devise_token_auth/passwords_controller.rb +34 -55
  10. data/app/controllers/devise_token_auth/registrations_controller.rb +34 -46
  11. data/app/controllers/devise_token_auth/sessions_controller.rb +15 -24
  12. data/app/controllers/devise_token_auth/token_validations_controller.rb +2 -5
  13. data/app/controllers/devise_token_auth/unlocks_controller.rb +11 -27
  14. data/app/models/devise_token_auth/concerns/user.rb +60 -85
  15. data/app/models/devise_token_auth/concerns/user_omniauth_callbacks.rb +2 -1
  16. data/config/initializers/devise.rb +4 -4
  17. data/config/locales/pl.yml +10 -10
  18. data/config/locales/uk.yml +59 -0
  19. data/config/locales/vi.yml +50 -0
  20. data/lib/devise_token_auth/controllers/helpers.rb +1 -1
  21. data/lib/devise_token_auth/engine.rb +3 -1
  22. data/lib/devise_token_auth/version.rb +1 -1
  23. data/lib/generators/devise_token_auth/templates/user.rb +3 -3
  24. data/test/controllers/demo_user_controller_test.rb +56 -0
  25. data/test/controllers/devise_token_auth/omniauth_callbacks_controller_test.rb +10 -6
  26. data/test/controllers/devise_token_auth/passwords_controller_test.rb +103 -1
  27. data/test/controllers/devise_token_auth/sessions_controller_test.rb +24 -1
  28. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +1 -11
  29. data/test/dummy/app/controllers/overrides/passwords_controller.rb +1 -9
  30. data/test/dummy/app/controllers/overrides/sessions_controller.rb +1 -8
  31. data/test/models/user_test.rb +11 -1
  32. data/test/test_helper.rb +9 -0
  33. metadata +8 -6
@@ -4,17 +4,7 @@ module Overrides
4
4
  @resource = resource_class.confirm_by_token(params[:confirmation_token])
5
5
 
6
6
  if @resource and @resource.id
7
- # create client id
8
- client_id = SecureRandom.urlsafe_base64(nil, false)
9
- token = SecureRandom.urlsafe_base64(nil, false)
10
- token_hash = BCrypt::Password.create(token)
11
- expiry = (Time.now + @resource.token_lifespan).to_i
12
-
13
- @resource.tokens[client_id] = {
14
- token: token_hash,
15
- expiry: expiry
16
- }
17
-
7
+ client_id, token = @resource.create_token
18
8
  @resource.save!
19
9
 
20
10
  redirect_header_options = {
@@ -9,15 +9,7 @@ module Overrides
9
9
  })
10
10
 
11
11
  if @resource and @resource.id
12
- client_id = SecureRandom.urlsafe_base64(nil, false)
13
- token = SecureRandom.urlsafe_base64(nil, false)
14
- token_hash = BCrypt::Password.create(token)
15
- expiry = (Time.now + @resource.token_lifespan).to_i
16
-
17
- @resource.tokens[client_id] = {
18
- token: token_hash,
19
- expiry: expiry
20
- }
12
+ client_id, token = @resource.create_token
21
13
 
22
14
  # ensure that user is confirmed
23
15
  @resource.skip_confirmation! unless @resource.confirmed_at
@@ -6,14 +6,7 @@ module Overrides
6
6
  @resource = resource_class.find_by(email: resource_params[:email])
7
7
 
8
8
  if @resource and valid_params?(:email, resource_params[:email]) and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
9
- # create client id
10
- @client_id = SecureRandom.urlsafe_base64(nil, false)
11
- @token = SecureRandom.urlsafe_base64(nil, false)
12
-
13
- @resource.tokens[@client_id] = {
14
- token: BCrypt::Password.create(@token),
15
- expiry: (Time.now + @resource.token_lifespan).to_i
16
- }
9
+ @client_id, @token = @resource.create_token
17
10
  @resource.save
18
11
 
19
12
  render json: {
@@ -31,7 +31,17 @@ class UserTest < ActiveSupport::TestCase
31
31
  @resource.password_confirmation = @password
32
32
 
33
33
  refute @resource.save
34
- assert @resource.errors.messages[:email]
34
+ assert @resource.errors.messages[:email] == [I18n.t("errors.messages.blank")]
35
+ end
36
+
37
+ test 'model should not save if email is not an email' do
38
+ @resource.provider = 'email'
39
+ @resource.email = '@example.com'
40
+ @resource.password = @password
41
+ @resource.password_confirmation = @password
42
+
43
+ refute @resource.save
44
+ assert @resource.errors.messages[:email] == [I18n.t("errors.messages.not_email")]
35
45
  end
36
46
  end
37
47
 
data/test/test_helper.rb CHANGED
@@ -56,6 +56,15 @@ class ActiveSupport::TestCase
56
56
  user.save!
57
57
  end
58
58
  end
59
+
60
+ # Suppress OmniAuth logger output
61
+ def silence_omniauth
62
+ previous_logger = OmniAuth.config.logger
63
+ OmniAuth.config.logger = Logger.new("/dev/null")
64
+ yield
65
+ ensure
66
+ OmniAuth.config.logger = previous_logger
67
+ end
59
68
  end
60
69
 
61
70
  class ActionController::TestCase
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_token_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.43.beta1
4
+ version: 0.1.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lynn Hurley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-13 00:00:00.000000000 Z
11
+ date: 2018-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: 3.5.2
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '4.4'
36
+ version: '4.5'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 3.5.2
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '4.4'
46
+ version: '4.5'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -128,6 +128,8 @@ files:
128
128
  - config/locales/ro.yml
129
129
  - config/locales/ru.yml
130
130
  - config/locales/sq.yml
131
+ - config/locales/uk.yml
132
+ - config/locales/vi.yml
131
133
  - config/locales/zh-CN.yml
132
134
  - config/locales/zh-HK.yml
133
135
  - config/locales/zh-TW.yml
@@ -256,9 +258,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
256
258
  version: '0'
257
259
  required_rubygems_version: !ruby/object:Gem::Requirement
258
260
  requirements:
259
- - - ">"
261
+ - - ">="
260
262
  - !ruby/object:Gem::Version
261
- version: 1.3.1
263
+ version: '0'
262
264
  requirements: []
263
265
  rubyforge_project:
264
266
  rubygems_version: 2.6.6