devise_token_auth 0.1.43.beta1 → 0.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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