devise_token_auth 0.1.43 → 1.2.0

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 (183) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +42 -895
  3. data/Rakefile +11 -4
  4. data/app/controllers/devise_token_auth/application_controller.rb +19 -8
  5. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +26 -12
  6. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +106 -85
  7. data/app/controllers/devise_token_auth/confirmations_controller.rb +73 -17
  8. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +95 -51
  9. data/app/controllers/devise_token_auth/passwords_controller.rb +65 -57
  10. data/app/controllers/devise_token_auth/registrations_controller.rb +61 -61
  11. data/app/controllers/devise_token_auth/sessions_controller.rb +22 -18
  12. data/app/controllers/devise_token_auth/token_validations_controller.rb +5 -3
  13. data/app/controllers/devise_token_auth/unlocks_controller.rb +20 -16
  14. data/app/models/devise_token_auth/concerns/active_record_support.rb +14 -0
  15. data/app/models/devise_token_auth/concerns/confirmable_support.rb +28 -0
  16. data/app/models/devise_token_auth/concerns/mongoid_support.rb +19 -0
  17. data/app/models/devise_token_auth/concerns/tokens_serialization.rb +31 -0
  18. data/app/models/devise_token_auth/concerns/user.rb +92 -100
  19. data/app/models/devise_token_auth/concerns/user_omniauth_callbacks.rb +8 -3
  20. data/app/validators/{email_validator.rb → devise_token_auth_email_validator.rb} +5 -3
  21. data/app/views/devise_token_auth/omniauth_external_window.html.erb +1 -1
  22. data/config/locales/da-DK.yml +11 -9
  23. data/config/locales/de.yml +2 -0
  24. data/config/locales/en.yml +10 -0
  25. data/config/locales/es.yml +2 -0
  26. data/config/locales/fr.yml +2 -0
  27. data/config/locales/he.yml +52 -0
  28. data/config/locales/it.yml +2 -0
  29. data/config/locales/ja.yml +4 -2
  30. data/config/locales/ko.yml +51 -0
  31. data/config/locales/nl.yml +2 -0
  32. data/config/locales/pl.yml +6 -3
  33. data/config/locales/pt-BR.yml +2 -0
  34. data/config/locales/pt.yml +6 -3
  35. data/config/locales/ro.yml +2 -0
  36. data/config/locales/ru.yml +2 -0
  37. data/config/locales/sq.yml +2 -0
  38. data/config/locales/sv.yml +52 -0
  39. data/config/locales/uk.yml +2 -0
  40. data/config/locales/vi.yml +2 -0
  41. data/config/locales/zh-CN.yml +2 -0
  42. data/config/locales/zh-HK.yml +2 -0
  43. data/config/locales/zh-TW.yml +2 -0
  44. data/lib/devise_token_auth/blacklist.rb +6 -0
  45. data/lib/devise_token_auth/controllers/helpers.rb +21 -13
  46. data/lib/devise_token_auth/controllers/url_helpers.rb +2 -0
  47. data/lib/devise_token_auth/engine.rb +26 -14
  48. data/lib/devise_token_auth/errors.rb +8 -0
  49. data/lib/devise_token_auth/rails/routes.rb +37 -30
  50. data/lib/devise_token_auth/token_factory.rb +126 -0
  51. data/lib/devise_token_auth/url.rb +11 -4
  52. data/lib/devise_token_auth/version.rb +3 -1
  53. data/lib/devise_token_auth.rb +11 -5
  54. data/lib/generators/devise_token_auth/USAGE +2 -2
  55. data/lib/generators/devise_token_auth/install_generator.rb +36 -105
  56. data/lib/generators/devise_token_auth/install_generator_helpers.rb +98 -0
  57. data/lib/generators/devise_token_auth/install_mongoid_generator.rb +46 -0
  58. data/lib/generators/devise_token_auth/install_views_generator.rb +7 -5
  59. data/lib/generators/devise_token_auth/templates/devise_token_auth.rb +12 -0
  60. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +8 -14
  61. data/lib/generators/devise_token_auth/templates/user.rb.erb +9 -0
  62. data/lib/generators/devise_token_auth/templates/user_mongoid.rb.erb +56 -0
  63. data/lib/tasks/devise_token_auth_tasks.rake +2 -0
  64. data/test/controllers/custom/custom_confirmations_controller_test.rb +5 -1
  65. data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +4 -0
  66. data/test/controllers/custom/custom_passwords_controller_test.rb +6 -2
  67. data/test/controllers/custom/custom_registrations_controller_test.rb +17 -8
  68. data/test/controllers/custom/custom_sessions_controller_test.rb +7 -5
  69. data/test/controllers/custom/custom_token_validations_controller_test.rb +5 -3
  70. data/test/controllers/demo_group_controller_test.rb +4 -6
  71. data/test/controllers/demo_mang_controller_test.rb +3 -3
  72. data/test/controllers/demo_user_controller_test.rb +53 -25
  73. data/test/controllers/devise_token_auth/confirmations_controller_test.rb +159 -25
  74. data/test/controllers/devise_token_auth/omniauth_callbacks_controller_test.rb +117 -47
  75. data/test/controllers/devise_token_auth/passwords_controller_test.rb +309 -126
  76. data/test/controllers/devise_token_auth/registrations_controller_test.rb +65 -23
  77. data/test/controllers/devise_token_auth/sessions_controller_test.rb +93 -61
  78. data/test/controllers/devise_token_auth/token_validations_controller_test.rb +18 -6
  79. data/test/controllers/devise_token_auth/unlocks_controller_test.rb +24 -5
  80. data/test/controllers/overrides/confirmations_controller_test.rb +6 -2
  81. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +5 -1
  82. data/test/controllers/overrides/passwords_controller_test.rb +27 -29
  83. data/test/controllers/overrides/registrations_controller_test.rb +33 -27
  84. data/test/controllers/overrides/sessions_controller_test.rb +6 -4
  85. data/test/controllers/overrides/token_validations_controller_test.rb +5 -3
  86. data/test/dummy/app/active_record/confirmable_user.rb +11 -0
  87. data/test/dummy/app/{models → active_record}/lockable_user.rb +2 -0
  88. data/test/dummy/app/{models → active_record}/mang.rb +2 -0
  89. data/test/dummy/app/{models → active_record}/only_email_user.rb +2 -0
  90. data/test/dummy/app/{models → active_record}/scoped_user.rb +4 -2
  91. data/test/dummy/app/{models → active_record}/unconfirmable_user.rb +3 -2
  92. data/test/dummy/app/active_record/unregisterable_user.rb +9 -0
  93. data/test/dummy/app/active_record/user.rb +6 -0
  94. data/test/dummy/app/controllers/application_controller.rb +2 -0
  95. data/test/dummy/app/controllers/auth_origin_controller.rb +2 -0
  96. data/test/dummy/app/controllers/custom/confirmations_controller.rb +2 -2
  97. data/test/dummy/app/controllers/custom/omniauth_callbacks_controller.rb +2 -0
  98. data/test/dummy/app/controllers/custom/passwords_controller.rb +3 -4
  99. data/test/dummy/app/controllers/custom/registrations_controller.rb +3 -3
  100. data/test/dummy/app/controllers/custom/sessions_controller.rb +3 -3
  101. data/test/dummy/app/controllers/custom/token_validations_controller.rb +3 -3
  102. data/test/dummy/app/controllers/demo_group_controller.rb +2 -0
  103. data/test/dummy/app/controllers/demo_mang_controller.rb +2 -0
  104. data/test/dummy/app/controllers/demo_user_controller.rb +2 -0
  105. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +8 -6
  106. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +5 -3
  107. data/test/dummy/app/controllers/overrides/passwords_controller.rb +10 -8
  108. data/test/dummy/app/controllers/overrides/registrations_controller.rb +5 -3
  109. data/test/dummy/app/controllers/overrides/sessions_controller.rb +12 -12
  110. data/test/dummy/app/controllers/overrides/token_validations_controller.rb +5 -5
  111. data/test/dummy/app/helpers/application_helper.rb +1029 -1036
  112. data/test/dummy/app/models/{user.rb → concerns/favorite_color.rb} +8 -7
  113. data/test/dummy/app/mongoid/confirmable_user.rb +52 -0
  114. data/test/dummy/app/mongoid/lockable_user.rb +38 -0
  115. data/test/dummy/app/mongoid/mang.rb +46 -0
  116. data/test/dummy/app/mongoid/only_email_user.rb +33 -0
  117. data/test/dummy/app/mongoid/scoped_user.rb +50 -0
  118. data/test/dummy/app/mongoid/unconfirmable_user.rb +44 -0
  119. data/test/dummy/app/mongoid/unregisterable_user.rb +47 -0
  120. data/test/dummy/app/mongoid/user.rb +49 -0
  121. data/test/dummy/app/views/layouts/application.html.erb +0 -2
  122. data/test/dummy/config/application.rb +26 -3
  123. data/test/dummy/config/boot.rb +8 -2
  124. data/test/dummy/config/environment.rb +3 -1
  125. data/test/dummy/config/environments/development.rb +5 -13
  126. data/test/dummy/config/environments/production.rb +2 -16
  127. data/test/dummy/config/environments/test.rb +3 -1
  128. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  129. data/test/dummy/config/initializers/cookies_serializer.rb +3 -1
  130. data/test/dummy/config/initializers/devise.rb +287 -0
  131. data/test/dummy/config/initializers/devise_token_auth.rb +37 -4
  132. data/test/dummy/config/initializers/figaro.rb +3 -1
  133. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  134. data/test/dummy/config/initializers/inflections.rb +2 -0
  135. data/test/dummy/config/initializers/mime_types.rb +2 -0
  136. data/test/dummy/config/initializers/omniauth.rb +5 -2
  137. data/test/dummy/config/initializers/session_store.rb +2 -0
  138. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  139. data/test/dummy/config/routes.rb +14 -29
  140. data/test/dummy/config/spring.rb +2 -0
  141. data/test/dummy/config.ru +5 -3
  142. data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +9 -14
  143. data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +8 -13
  144. data/test/dummy/db/migrate/20140829044006_add_operating_thetan_to_user.rb +2 -0
  145. data/test/dummy/db/migrate/20140916224624_add_favorite_color_to_mangs.rb +2 -0
  146. data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +6 -11
  147. data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +8 -13
  148. data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +8 -13
  149. data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +8 -13
  150. data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +8 -13
  151. data/test/dummy/{tmp/generators/db/migrate/20171014052631_devise_token_auth_create_users.rb → db/migrate/20190924101113_devise_token_auth_create_confirmable_users.rb} +8 -14
  152. data/test/dummy/db/schema.rb +11 -71
  153. data/test/dummy/lib/migration_database_helper.rb +15 -1
  154. data/test/dummy/tmp/generators/app/controllers/application_controller.rb +6 -0
  155. data/test/dummy/tmp/generators/app/models/azpire/v1/human_resource/user.rb +56 -0
  156. data/test/dummy/tmp/generators/config/initializers/devise_token_auth.rb +12 -0
  157. data/test/factories/users.rb +41 -0
  158. data/test/lib/devise_token_auth/blacklist_test.rb +19 -0
  159. data/test/lib/devise_token_auth/rails/custom_routes_test.rb +29 -0
  160. data/test/lib/devise_token_auth/rails/routes_test.rb +87 -0
  161. data/test/lib/devise_token_auth/token_factory_test.rb +191 -0
  162. data/test/lib/devise_token_auth/url_test.rb +9 -7
  163. data/test/lib/generators/devise_token_auth/install_generator_test.rb +67 -37
  164. data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +222 -0
  165. data/test/lib/generators/devise_token_auth/install_views_generator_test.rb +3 -1
  166. data/test/models/concerns/mongoid_support_test.rb +31 -0
  167. data/test/models/concerns/tokens_serialization_test.rb +104 -0
  168. data/test/models/confirmable_user_test.rb +35 -0
  169. data/test/models/only_email_user_test.rb +2 -8
  170. data/test/models/user_test.rb +18 -79
  171. data/test/support/controllers/routes.rb +43 -0
  172. data/test/test_helper.rb +83 -26
  173. metadata +153 -44
  174. data/config/initializers/devise.rb +0 -196
  175. data/lib/generators/devise_token_auth/templates/user.rb +0 -7
  176. data/test/dummy/app/models/evil_user.rb +0 -3
  177. data/test/dummy/app/models/nice_user.rb +0 -7
  178. data/test/dummy/app/models/unregisterable_user.rb +0 -7
  179. data/test/dummy/config/initializers/assets.rb +0 -8
  180. data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +0 -64
  181. data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +0 -61
  182. data/test/dummy/tmp/generators/app/models/user.rb +0 -11
  183. data/test/integration/navigation_test.rb +0 -10
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  # was the web request successful?
@@ -7,41 +9,34 @@ require 'test_helper'
7
9
  # was the appropriate message delivered in the json payload?
8
10
 
9
11
  class Overrides::PasswordsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
10
14
  describe Overrides::PasswordsController do
11
15
  before do
12
- @resource = evil_users(:confirmed_email_user)
13
- @redirect_url = Faker::Internet.url
16
+ @resource = create(:user, :confirmed)
14
17
 
15
18
  post '/evil_user_auth/password',
16
19
  params: {
17
20
  email: @resource.email,
18
- redirect_url: @redirect_url
21
+ redirect_url: Faker::Internet.url
19
22
  }
20
23
 
21
- @mail = ActionMailer::Base.deliveries.last
24
+ mail = ActionMailer::Base.deliveries.last
22
25
  @resource.reload
23
26
 
24
- @mail_config_name = CGI.unescape(@mail.body.match(/config=([^&]*)&/)[1])
25
- @mail_redirect_url = CGI.unescape(@mail.body.match(/redirect_url=([^&]*)&/)[1])
26
- @mail_reset_token = @mail.body.match(/reset_password_token=(.*)\"/)[1]
27
+ mail_reset_token = mail.body.match(/reset_password_token=(.*)\"/)[1]
28
+ mail_redirect_url = CGI.unescape(mail.body.match(/redirect_url=([^&]*)&/)[1])
27
29
 
28
30
  get '/evil_user_auth/password/edit',
29
- params: { reset_password_token: @mail_reset_token,
30
- redirect_url: @mail_redirect_url }
31
+ params: {
32
+ reset_password_token: mail_reset_token,
33
+ redirect_url: mail_redirect_url
34
+ }
31
35
 
32
36
  @resource.reload
33
37
 
34
- raw_qs = response.location.split('?')[1]
35
- @qs = Rack::Utils.parse_nested_query(raw_qs)
36
-
37
- @access_token = @qs['access-token']
38
- @client = @qs['client']
39
- @client_id = @qs['client_id']
40
- @expiry = @qs['expiry']
41
- @override_proof = @qs['override_proof']
42
- @reset_password = @qs['reset_password']
43
- @token = @qs['token']
44
- @uid = @qs['uid']
38
+ _, raw_query_string = response.location.split('?')
39
+ @query_string = Rack::Utils.parse_nested_query(raw_query_string)
45
40
  end
46
41
 
47
42
  test 'response should have success redirect status' do
@@ -49,18 +44,21 @@ class Overrides::PasswordsControllerTest < ActionDispatch::IntegrationTest
49
44
  end
50
45
 
51
46
  test 'response should contain auth params + override proof' do
52
- assert @access_token
53
- assert @client
54
- assert @client_id
55
- assert @expiry
56
- assert @override_proof
57
- assert @reset_password
58
- assert @token
59
- assert @uid
47
+ assert @query_string['access-token']
48
+ assert @query_string['client']
49
+ assert @query_string['client_id']
50
+ assert @query_string['expiry']
51
+ assert @query_string['override_proof']
52
+ assert @query_string['reset_password']
53
+ assert @query_string['token']
54
+ assert @query_string['uid']
60
55
  end
61
56
 
62
57
  test 'override proof is correct' do
63
- assert_equal @override_proof, Overrides::PasswordsController::OVERRIDE_PROOF
58
+ assert_equal(
59
+ @query_string['override_proof'],
60
+ Overrides::PasswordsController::OVERRIDE_PROOF
61
+ )
64
62
  end
65
63
  end
66
64
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  # was the web request successful?
@@ -7,34 +9,38 @@ require 'test_helper'
7
9
  # was the appropriate message delivered in the json payload?
8
10
 
9
11
  class Overrides::RegistrationsControllerTest < ActionDispatch::IntegrationTest
10
- describe Overrides::RegistrationsController do
11
- setup do
12
- @existing_user = evil_users(:confirmed_email_user)
13
- @auth_headers = @existing_user.create_new_auth_token
14
- @client_id = @auth_headers['client']
15
- @favorite_color = 'pink'
16
-
17
- # ensure request is not treated as batch request
18
- age_token(@existing_user, @client_id)
19
-
20
- # test valid update param
21
- @new_operating_thetan = 1_000_000
22
-
23
- put '/evil_user_auth',
24
- params: { favorite_color: @favorite_color },
25
- headers: @auth_headers
12
+ include OverridesControllersRoutes
26
13
 
27
- @data = JSON.parse(response.body)
28
- @existing_user.reload
29
- end
30
-
31
- test 'user was updated' do
32
- assert_equal @favorite_color, @existing_user.favorite_color
33
- end
34
-
35
- test 'controller was overridden' do
36
- assert_equal Overrides::RegistrationsController::OVERRIDE_PROOF,
37
- @data['override_proof']
14
+ describe Overrides::RegistrationsController do
15
+ describe 'Succesful Registration update' do
16
+ before do
17
+ @existing_user = create(:user, :confirmed)
18
+ @auth_headers = @existing_user.create_new_auth_token
19
+ @client_id = @auth_headers['client']
20
+ @favorite_color = 'pink'
21
+
22
+ # ensure request is not treated as batch request
23
+ age_token(@existing_user, @client_id)
24
+
25
+ # test valid update param
26
+ @new_operating_thetan = 1_000_000
27
+
28
+ put '/evil_user_auth',
29
+ params: { favorite_color: @favorite_color },
30
+ headers: @auth_headers
31
+
32
+ @data = JSON.parse(response.body)
33
+ @existing_user.reload
34
+ end
35
+
36
+ test 'user was updated' do
37
+ assert_equal @favorite_color, @existing_user.favorite_color
38
+ end
39
+
40
+ test 'controller was overridden' do
41
+ assert_equal Overrides::RegistrationsController::OVERRIDE_PROOF,
42
+ @data['override_proof']
43
+ end
38
44
  end
39
45
  end
40
46
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  # was the web request successful?
@@ -7,15 +9,15 @@ require 'test_helper'
7
9
  # was the appropriate message delivered in the json payload?
8
10
 
9
11
  class Overrides::RegistrationsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
10
14
  describe Overrides::RegistrationsController do
11
15
  before do
12
- @existing_user = evil_users(:confirmed_email_user)
13
- @existing_user.skip_confirmation!
14
- @existing_user.save!
16
+ @existing_user = create(:user, :confirmed)
15
17
 
16
18
  post '/evil_user_auth/sign_in',
17
19
  params: { email: @existing_user.email,
18
- password: 'secret123' }
20
+ password: @existing_user.password }
19
21
 
20
22
  @resource = assigns(:resource)
21
23
  @data = JSON.parse(response.body)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  # was the web request successful?
@@ -7,11 +9,11 @@ require 'test_helper'
7
9
  # was the appropriate message delivered in the json payload?
8
10
 
9
11
  class Overrides::TokenValidationsControllerTest < ActionDispatch::IntegrationTest
12
+ include OverridesControllersRoutes
13
+
10
14
  describe Overrides::TokenValidationsController do
11
15
  before do
12
- @resource = evil_users(:confirmed_email_user)
13
- @resource.skip_confirmation!
14
- @resource.save!
16
+ @resource = create(:user, :confirmed)
15
17
 
16
18
  @auth_headers = @resource.create_new_auth_token
17
19
 
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ConfirmableUser < ActiveRecord::Base
4
+ # Include default devise modules.
5
+ devise :database_authenticatable, :registerable,
6
+ :recoverable, :rememberable,
7
+ :validatable, :confirmable
8
+ DeviseTokenAuth.send_confirmation_email = true
9
+ include DeviseTokenAuth::Concerns::User
10
+ DeviseTokenAuth.send_confirmation_email = false
11
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class LockableUser < ActiveRecord::Base
2
4
  # Include default devise modules.
3
5
  devise :database_authenticatable, :registerable, :lockable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Mang < ActiveRecord::Base
2
4
  include DeviseTokenAuth::Concerns::User
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class OnlyEmailUser < ActiveRecord::Base
2
4
  # Include default devise modules.
3
5
  devise :database_authenticatable, :registerable
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ScopedUser < ActiveRecord::Base
2
4
  # Include default devise modules.
3
5
  devise :database_authenticatable, :registerable,
4
- :recoverable, :rememberable, :trackable, :validatable,
5
- :confirmable, :omniauthable
6
+ :recoverable, :rememberable,
7
+ :validatable, :confirmable, :omniauthable
6
8
  include DeviseTokenAuth::Concerns::User
7
9
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class UnconfirmableUser < ActiveRecord::Base
2
4
  # Include default devise modules.
3
5
  devise :database_authenticatable, :registerable,
4
6
  :recoverable, :rememberable,
5
- :trackable, :validatable,
6
- :omniauthable
7
+ :validatable, :omniauthable
7
8
  include DeviseTokenAuth::Concerns::User
8
9
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class UnregisterableUser < ActiveRecord::Base
4
+ # Include default devise modules.
5
+ devise :database_authenticatable, :recoverable,
6
+ :validatable, :confirmable,
7
+ :omniauthable
8
+ include DeviseTokenAuth::Concerns::User
9
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ class User < ActiveRecord::Base
4
+ include DeviseTokenAuth::Concerns::User
5
+ include FavoriteColor
6
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationController < ActionController::Base
2
4
  include DeviseTokenAuth::Concerns::SetUserByToken
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class AuthOriginController < ApplicationController
2
4
  def redirected
3
5
  head :ok
@@ -1,5 +1,6 @@
1
- class Custom::ConfirmationsController < DeviseTokenAuth::ConfirmationsController
1
+ # frozen_string_literal: true
2
2
 
3
+ class Custom::ConfirmationsController < DeviseTokenAuth::ConfirmationsController
3
4
  def show
4
5
  super do |resource|
5
6
  @show_block_called = true unless resource.nil?
@@ -9,5 +10,4 @@ class Custom::ConfirmationsController < DeviseTokenAuth::ConfirmationsController
9
10
  def show_block_called?
10
11
  @show_block_called == true
11
12
  end
12
-
13
13
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Custom::OmniauthCallbacksController < DeviseTokenAuth::OmniauthCallbacksController
2
4
  def omniauth_success
3
5
  super do |resource|
@@ -1,5 +1,6 @@
1
- class Custom::PasswordsController < DeviseTokenAuth::PasswordsController
1
+ # frozen_string_literal: true
2
2
 
3
+ class Custom::PasswordsController < DeviseTokenAuth::PasswordsController
3
4
  def create
4
5
  super do |resource|
5
6
  @create_block_called = true unless resource.nil?
@@ -33,8 +34,6 @@ class Custom::PasswordsController < DeviseTokenAuth::PasswordsController
33
34
  protected
34
35
 
35
36
  def render_update_success
36
- render json: {custom: "foo"}
37
+ render json: { custom: 'foo' }
37
38
  end
38
-
39
-
40
39
  end
@@ -1,5 +1,6 @@
1
- class Custom::RegistrationsController < DeviseTokenAuth::RegistrationsController
1
+ # frozen_string_literal: true
2
2
 
3
+ class Custom::RegistrationsController < DeviseTokenAuth::RegistrationsController
3
4
  def create
4
5
  super do |resource|
5
6
  @create_block_called = true
@@ -33,7 +34,6 @@ class Custom::RegistrationsController < DeviseTokenAuth::RegistrationsController
33
34
  protected
34
35
 
35
36
  def render_create_success
36
- render json: {custom: "foo"}
37
+ render json: { custom: 'foo' }
37
38
  end
38
-
39
39
  end
@@ -1,5 +1,6 @@
1
- class Custom::SessionsController < DeviseTokenAuth::SessionsController
1
+ # frozen_string_literal: true
2
2
 
3
+ class Custom::SessionsController < DeviseTokenAuth::SessionsController
3
4
  def create
4
5
  super do |resource|
5
6
  @create_block_called = true unless resource.nil?
@@ -23,7 +24,6 @@ class Custom::SessionsController < DeviseTokenAuth::SessionsController
23
24
  protected
24
25
 
25
26
  def render_create_success
26
- render json: {custom: "foo"}
27
+ render json: { custom: 'foo' }
27
28
  end
28
-
29
29
  end
@@ -1,5 +1,6 @@
1
- class Custom::TokenValidationsController < DeviseTokenAuth::TokenValidationsController
1
+ # frozen_string_literal: true
2
2
 
3
+ class Custom::TokenValidationsController < DeviseTokenAuth::TokenValidationsController
3
4
  def validate_token
4
5
  super do |resource|
5
6
  @validate_token_block_called = true unless resource.nil?
@@ -13,7 +14,6 @@ class Custom::TokenValidationsController < DeviseTokenAuth::TokenValidationsCont
13
14
  protected
14
15
 
15
16
  def render_validate_token_success
16
- render json: {custom: "foo"}
17
+ render json: { custom: 'foo' }
17
18
  end
18
-
19
19
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DemoGroupController < ApplicationController
2
4
  devise_token_auth_group :member, contains: [:user, :mang]
3
5
  before_action :authenticate_member!
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DemoMangController < ApplicationController
2
4
  before_action :authenticate_mang!
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DemoUserController < ApplicationController
2
4
  before_action :authenticate_user!
3
5
 
@@ -1,25 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overrides
2
4
  class ConfirmationsController < DeviseTokenAuth::ConfirmationsController
3
5
  def show
4
6
  @resource = resource_class.confirm_by_token(params[:confirmation_token])
5
7
 
6
- if @resource and @resource.id
7
- client_id, token = @resource.create_token
8
+ if @resource && @resource.id
9
+ token = @resource.create_token
8
10
  @resource.save!
9
11
 
10
12
  redirect_header_options = {
11
13
  account_confirmation_success: true,
12
14
  config: params[:config],
13
- override_proof: "(^^,)"
15
+ override_proof: '(^^,)'
14
16
  }
15
- redirect_headers = build_redirect_headers(token,
16
- client_id,
17
+ redirect_headers = build_redirect_headers(token.token,
18
+ token.client,
17
19
  redirect_header_options)
18
20
 
19
21
  redirect_to(@resource.build_auth_url(params[:redirect_url],
20
22
  redirect_headers))
21
23
  else
22
- raise ActionController::RoutingError.new('Not Found')
24
+ raise ActionController::RoutingError, 'Not Found'
23
25
  end
24
26
  end
25
27
  end
@@ -1,14 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overrides
2
4
  class OmniauthCallbacksController < DeviseTokenAuth::OmniauthCallbacksController
3
- DEFAULT_NICKNAME = "stimpy"
5
+ DEFAULT_NICKNAME = 'stimpy'.freeze
4
6
 
5
7
  def assign_provider_attrs(user, auth_hash)
6
- user.assign_attributes({
8
+ user.assign_attributes(
7
9
  nickname: DEFAULT_NICKNAME,
8
10
  name: auth_hash['info']['name'],
9
11
  image: auth_hash['info']['image'],
10
12
  email: auth_hash['info']['email']
11
- })
13
+ )
12
14
  end
13
15
  end
14
16
  end
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overrides
2
4
  class PasswordsController < DeviseTokenAuth::PasswordsController
3
- OVERRIDE_PROOF = "(^^,)"
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
4
6
 
5
7
  # this is where users arrive after visiting the email confirmation link
6
8
  def edit
7
- @resource = resource_class.reset_password_by_token({
9
+ @resource = resource_class.reset_password_by_token(
8
10
  reset_password_token: resource_params[:reset_password_token]
9
- })
11
+ )
10
12
 
11
- if @resource and @resource.id
12
- client_id, token = @resource.create_token
13
+ if @resource && @resource.id
14
+ token = @resource.create_token
13
15
 
14
16
  # ensure that user is confirmed
15
17
  @resource.skip_confirmation! unless @resource.confirmed_at
@@ -20,13 +22,13 @@ module Overrides
20
22
  override_proof: OVERRIDE_PROOF,
21
23
  reset_password: true
22
24
  }
23
- redirect_headers = build_redirect_headers(token,
24
- client_id,
25
+ redirect_headers = build_redirect_headers(token.token,
26
+ token.client,
25
27
  redirect_header_options)
26
28
  redirect_to(@resource.build_auth_url(params[:redirect_url],
27
29
  redirect_headers))
28
30
  else
29
- raise ActionController::RoutingError.new('Not Found')
31
+ raise ActionController::RoutingError, 'Not Found'
30
32
  end
31
33
  end
32
34
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overrides
2
4
  class RegistrationsController < DeviseTokenAuth::RegistrationsController
3
- OVERRIDE_PROOF = "(^^,)"
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
4
6
 
5
7
  def update
6
8
  if @resource
7
- if @resource.update_attributes(account_update_params)
9
+ if @resource.update(account_update_params)
8
10
  render json: {
9
11
  status: 'success',
10
12
  data: @resource.as_json,
@@ -19,7 +21,7 @@ module Overrides
19
21
  else
20
22
  render json: {
21
23
  status: 'error',
22
- errors: ["User not found."]
24
+ errors: ['User not found.']
23
25
  }, status: 404
24
26
  end
25
27
  end
@@ -1,34 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overrides
2
4
  class SessionsController < DeviseTokenAuth::SessionsController
3
- OVERRIDE_PROOF = "(^^,)"
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
4
6
 
5
7
  def create
6
- @resource = resource_class.find_by(email: resource_params[:email])
8
+ @resource = resource_class.dta_find_by(email: resource_params[:email])
7
9
 
8
- if @resource and valid_params?(:email, resource_params[:email]) and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
9
- @client_id, @token = @resource.create_token
10
+ if @resource && valid_params?(:email, resource_params[:email]) && @resource.valid_password?(resource_params[:password]) && @resource.confirmed?
11
+ @token = @resource.create_token
10
12
  @resource.save
11
13
 
12
14
  render json: {
13
- data: @resource.as_json(except: [
14
- :tokens, :created_at, :updated_at
15
- ]),
15
+ data: @resource.as_json(except: %i[tokens created_at updated_at]),
16
16
  override_proof: OVERRIDE_PROOF
17
17
  }
18
18
 
19
- elsif @resource and not @resource.confirmed?
19
+ elsif @resource && (not @resource.confirmed?)
20
20
  render json: {
21
21
  success: false,
22
22
  errors: [
23
- "A confirmation email was sent to your account at #{@resource.email}. "+
24
- "You must follow the instructions in the email before your account "+
25
- "can be activated"
23
+ "A confirmation email was sent to your account at #{@resource.email}. "\
24
+ 'You must follow the instructions in the email before your account '\
25
+ 'can be activated'
26
26
  ]
27
27
  }, status: 401
28
28
 
29
29
  else
30
30
  render json: {
31
- errors: ["Invalid login credentials. Please try again."]
31
+ errors: ['Invalid login credentials. Please try again.']
32
32
  }, status: 401
33
33
  end
34
34
  end
@@ -1,21 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overrides
2
4
  class TokenValidationsController < DeviseTokenAuth::TokenValidationsController
3
- OVERRIDE_PROOF = '(^^,)'
5
+ OVERRIDE_PROOF = '(^^,)'.freeze
4
6
 
5
7
  def validate_token
6
8
  # @resource will have been set by set_user_by_token concern
7
9
  if @resource
8
10
  render json: {
9
11
  success: true,
10
- data: @resource.as_json(except: [
11
- :tokens, :created_at, :updated_at
12
- ]),
12
+ data: @resource.as_json(except: %i[tokens created_at updated_at]),
13
13
  override_proof: OVERRIDE_PROOF
14
14
  }
15
15
  else
16
16
  render json: {
17
17
  success: false,
18
- errors: ["Invalid login credentials"]
18
+ errors: ['Invalid login credentials']
19
19
  }, status: 401
20
20
  end
21
21
  end