devise_jwt_auth 0.1.5 → 0.1.6

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/controllers/devise_jwt_auth/application_controller.rb +14 -11
  4. data/app/controllers/devise_jwt_auth/concerns/resource_finder.rb +2 -6
  5. data/app/controllers/devise_jwt_auth/concerns/set_user_by_token.rb +17 -19
  6. data/app/controllers/devise_jwt_auth/confirmations_controller.rb +10 -19
  7. data/app/controllers/devise_jwt_auth/omniauth_callbacks_controller.rb +32 -33
  8. data/app/controllers/devise_jwt_auth/passwords_controller.rb +29 -19
  9. data/app/controllers/devise_jwt_auth/refresh_token_controller.rb +4 -1
  10. data/app/controllers/devise_jwt_auth/registrations_controller.rb +40 -21
  11. data/app/controllers/devise_jwt_auth/sessions_controller.rb +18 -12
  12. data/app/controllers/devise_jwt_auth/unlocks_controller.rb +5 -4
  13. data/app/models/devise_jwt_auth/concerns/active_record_support.rb +3 -0
  14. data/app/models/devise_jwt_auth/concerns/confirmable_support.rb +7 -4
  15. data/app/models/devise_jwt_auth/concerns/mongoid_support.rb +3 -0
  16. data/app/models/devise_jwt_auth/concerns/tokens_serialization.rb +4 -1
  17. data/app/models/devise_jwt_auth/concerns/user.rb +18 -9
  18. data/app/models/devise_jwt_auth/concerns/user_omniauth_callbacks.rb +11 -3
  19. data/app/validators/devise_jwt_auth_email_validator.rb +4 -3
  20. data/lib/devise_jwt_auth/blacklist.rb +2 -0
  21. data/lib/devise_jwt_auth/controllers/url_helpers.rb +1 -2
  22. data/lib/devise_jwt_auth/engine.rb +4 -4
  23. data/lib/devise_jwt_auth/rails/routes.rb +35 -24
  24. data/lib/devise_jwt_auth/token_factory.rb +3 -2
  25. data/lib/devise_jwt_auth/url.rb +2 -4
  26. data/lib/devise_jwt_auth/version.rb +1 -1
  27. data/lib/generators/devise_jwt_auth/install_generator.rb +7 -6
  28. data/lib/generators/devise_jwt_auth/install_generator_helpers.rb +14 -7
  29. data/lib/generators/devise_jwt_auth/install_mongoid_generator.rb +3 -2
  30. data/lib/generators/devise_jwt_auth/templates/devise_jwt_auth.rb +2 -3
  31. data/test/controllers/custom/custom_confirmations_controller_test.rb +2 -2
  32. data/test/controllers/custom/custom_passwords_controller_test.rb +4 -4
  33. data/test/controllers/custom/custom_refresh_token_controller_test.rb +2 -3
  34. data/test/controllers/custom/custom_registrations_controller_test.rb +2 -2
  35. data/test/controllers/demo_mang_controller_test.rb +206 -210
  36. data/test/controllers/demo_user_controller_test.rb +358 -374
  37. data/test/controllers/devise_jwt_auth/confirmations_controller_test.rb +5 -5
  38. data/test/controllers/devise_jwt_auth/omniauth_callbacks_controller_test.rb +6 -7
  39. data/test/controllers/devise_jwt_auth/passwords_controller_test.rb +11 -13
  40. data/test/controllers/devise_jwt_auth/refresh_token_controller_test.rb +8 -12
  41. data/test/controllers/devise_jwt_auth/registrations_controller_test.rb +23 -25
  42. data/test/controllers/devise_jwt_auth/sessions_controller_test.rb +30 -32
  43. data/test/controllers/devise_jwt_auth/unlocks_controller_test.rb +2 -2
  44. data/test/controllers/overrides/confirmations_controller_test.rb +1 -1
  45. data/test/controllers/overrides/passwords_controller_test.rb +1 -1
  46. data/test/controllers/overrides/refresh_token_controller_test.rb +1 -2
  47. data/test/controllers/overrides/registrations_controller_test.rb +1 -1
  48. data/test/dummy/app/controllers/custom/refresh_token_controller.rb +2 -1
  49. data/test/dummy/app/controllers/custom/registrations_controller.rb +1 -1
  50. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +4 -4
  51. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +4 -4
  52. data/test/dummy/app/controllers/overrides/passwords_controller.rb +4 -4
  53. data/test/dummy/app/controllers/overrides/refresh_token_controller.rb +1 -1
  54. data/test/dummy/app/controllers/overrides/registrations_controller.rb +2 -2
  55. data/test/dummy/app/controllers/overrides/sessions_controller.rb +2 -2
  56. data/test/dummy/app/models/concerns/favorite_color.rb +11 -9
  57. data/test/dummy/config.ru +2 -2
  58. data/test/dummy/config/application.rb +1 -0
  59. data/test/dummy/config/boot.rb +1 -1
  60. data/test/dummy/config/environments/test.rb +11 -7
  61. data/test/dummy/config/initializers/figaro.rb +1 -1
  62. data/test/dummy/config/initializers/omniauth.rb +2 -2
  63. data/test/dummy/config/routes.rb +8 -8
  64. data/test/dummy/db/migrate/20141222035835_devise_jwt_auth_create_only_email_users.rb +9 -9
  65. data/test/dummy/db/migrate/20190924101113_devise_jwt_auth_create_confirmable_users.rb +6 -5
  66. data/test/dummy/db/schema.rb +170 -170
  67. data/test/dummy/tmp/generators/app/controllers/application_controller.rb +6 -0
  68. data/test/dummy/tmp/generators/config/initializers/devise_jwt_auth.rb +2 -3
  69. data/test/dummy/tmp/generators/db/migrate/{20200228012905_devise_jwt_auth_create_users.rb → 20201006030349_devise_jwt_auth_create_users.rb} +0 -0
  70. data/test/factories/users.rb +5 -3
  71. data/test/lib/devise_jwt_auth/token_factory_test.rb +6 -6
  72. data/test/lib/generators/devise_jwt_auth/install_generator_test.rb +3 -20
  73. data/test/lib/generators/devise_jwt_auth/install_generator_with_namespace_test.rb +4 -21
  74. data/test/models/concerns/tokens_serialization_test.rb +68 -68
  75. data/test/models/user_test.rb +35 -37
  76. data/test/support/controllers/routes.rb +7 -5
  77. data/test/test_helper.rb +1 -1
  78. metadata +50 -54
  79. data/test/dummy/tmp/generators/app/models/mang.rb +0 -9
  80. data/test/dummy/tmp/generators/config/routes.rb +0 -9
  81. data/test/dummy/tmp/generators/db/migrate/20200228012905_devise_jwt_auth_create_mangs.rb +0 -54
@@ -20,7 +20,7 @@ require 'database_cleaner'
20
20
  FactoryBot.definition_file_paths = [File.expand_path('factories', __dir__)]
21
21
  FactoryBot.find_definitions
22
22
 
23
- Dir[File.join(__dir__, 'support/**', '*.rb')].each { |file| require file }
23
+ Dir[File.join(__dir__, 'support/**', '*.rb')].sort.each { |file| require file }
24
24
 
25
25
  # I hate the default reporter. Use ProgressReporter instead.
26
26
  Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_jwt_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-28 00:00:00.000000000 Z
11
+ date: 2020-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: devise
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.5.2
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">"
28
+ - !ruby/object:Gem::Version
29
+ version: 3.5.2
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: rails
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -44,26 +64,6 @@ dependencies:
44
64
  - - '='
45
65
  - !ruby/object:Gem::Version
46
66
  version: 3.7.2
47
- - !ruby/object:Gem::Dependency
48
- name: devise
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">"
52
- - !ruby/object:Gem::Version
53
- version: 3.5.2
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: '5'
57
- type: :runtime
58
- prerelease: false
59
- version_requirements: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">"
62
- - !ruby/object:Gem::Version
63
- version: 3.5.2
64
- - - "<"
65
- - !ruby/object:Gem::Version
66
- version: '5'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: jwt
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -93,33 +93,39 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  - !ruby/object:Gem::Dependency
96
- name: sqlite3
96
+ name: mongoid
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - "~>"
99
+ - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: '1.4'
101
+ version: '4'
102
+ - - "<"
103
+ - !ruby/object:Gem::Version
104
+ version: '8'
102
105
  type: :development
103
106
  prerelease: false
104
107
  version_requirements: !ruby/object:Gem::Requirement
105
108
  requirements:
106
- - - "~>"
109
+ - - ">="
107
110
  - !ruby/object:Gem::Version
108
- version: '1.4'
111
+ version: '4'
112
+ - - "<"
113
+ - !ruby/object:Gem::Version
114
+ version: '8'
109
115
  - !ruby/object:Gem::Dependency
110
- name: pg
116
+ name: mongoid-locker
111
117
  requirement: !ruby/object:Gem::Requirement
112
118
  requirements:
113
- - - ">="
119
+ - - "~>"
114
120
  - !ruby/object:Gem::Version
115
- version: '0'
121
+ version: '1.0'
116
122
  type: :development
117
123
  prerelease: false
118
124
  version_requirements: !ruby/object:Gem::Requirement
119
125
  requirements:
120
- - - ">="
126
+ - - "~>"
121
127
  - !ruby/object:Gem::Version
122
- version: '0'
128
+ version: '1.0'
123
129
  - !ruby/object:Gem::Dependency
124
130
  name: mysql2
125
131
  requirement: !ruby/object:Gem::Requirement
@@ -135,39 +141,33 @@ dependencies:
135
141
  - !ruby/object:Gem::Version
136
142
  version: '0'
137
143
  - !ruby/object:Gem::Dependency
138
- name: mongoid
144
+ name: pg
139
145
  requirement: !ruby/object:Gem::Requirement
140
146
  requirements:
141
147
  - - ">="
142
148
  - !ruby/object:Gem::Version
143
- version: '4'
144
- - - "<"
145
- - !ruby/object:Gem::Version
146
- version: '8'
149
+ version: '0'
147
150
  type: :development
148
151
  prerelease: false
149
152
  version_requirements: !ruby/object:Gem::Requirement
150
153
  requirements:
151
154
  - - ">="
152
155
  - !ruby/object:Gem::Version
153
- version: '4'
154
- - - "<"
155
- - !ruby/object:Gem::Version
156
- version: '8'
156
+ version: '0'
157
157
  - !ruby/object:Gem::Dependency
158
- name: mongoid-locker
158
+ name: sqlite3
159
159
  requirement: !ruby/object:Gem::Requirement
160
160
  requirements:
161
161
  - - "~>"
162
162
  - !ruby/object:Gem::Version
163
- version: '1.0'
163
+ version: '1.4'
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - "~>"
169
169
  - !ruby/object:Gem::Version
170
- version: '1.0'
170
+ version: '1.4'
171
171
  description: Supports silent refresh with client side single page apps in mind.
172
172
  email:
173
173
  - _aaron@tutanota.com
@@ -334,12 +334,10 @@ files:
334
334
  - test/dummy/db/migrate/20190924101113_devise_jwt_auth_create_confirmable_users.rb
335
335
  - test/dummy/db/schema.rb
336
336
  - test/dummy/lib/migration_database_helper.rb
337
- - test/dummy/tmp/generators/app/models/mang.rb
337
+ - test/dummy/tmp/generators/app/controllers/application_controller.rb
338
338
  - test/dummy/tmp/generators/app/models/user.rb
339
339
  - test/dummy/tmp/generators/config/initializers/devise_jwt_auth.rb
340
- - test/dummy/tmp/generators/config/routes.rb
341
- - test/dummy/tmp/generators/db/migrate/20200228012905_devise_jwt_auth_create_mangs.rb
342
- - test/dummy/tmp/generators/db/migrate/20200228012905_devise_jwt_auth_create_users.rb
340
+ - test/dummy/tmp/generators/db/migrate/20201006030349_devise_jwt_auth_create_users.rb
343
341
  - test/factories/users.rb
344
342
  - test/lib/devise_jwt_auth/blacklist_test.rb
345
343
  - test/lib/devise_jwt_auth/token_factory_test.rb
@@ -366,14 +364,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
366
364
  requirements:
367
365
  - - ">="
368
366
  - !ruby/object:Gem::Version
369
- version: 2.2.0
367
+ version: 2.4.0
370
368
  required_rubygems_version: !ruby/object:Gem::Requirement
371
369
  requirements:
372
370
  - - ">="
373
371
  - !ruby/object:Gem::Version
374
372
  version: '0'
375
373
  requirements: []
376
- rubygems_version: 3.0.6
374
+ rubygems_version: 3.0.8
377
375
  signing_key:
378
376
  specification_version: 4
379
377
  summary: JWT based authentication port of Devise Token Auth.
@@ -394,12 +392,10 @@ test_files:
394
392
  - test/test_helper.rb
395
393
  - test/dummy/lib/migration_database_helper.rb
396
394
  - test/dummy/config.ru
397
- - test/dummy/tmp/generators/db/migrate/20200228012905_devise_jwt_auth_create_users.rb
398
- - test/dummy/tmp/generators/db/migrate/20200228012905_devise_jwt_auth_create_mangs.rb
399
- - test/dummy/tmp/generators/config/routes.rb
395
+ - test/dummy/tmp/generators/db/migrate/20201006030349_devise_jwt_auth_create_users.rb
400
396
  - test/dummy/tmp/generators/config/initializers/devise_jwt_auth.rb
401
- - test/dummy/tmp/generators/app/models/mang.rb
402
397
  - test/dummy/tmp/generators/app/models/user.rb
398
+ - test/dummy/tmp/generators/app/controllers/application_controller.rb
403
399
  - test/dummy/db/migrate/20150708104536_devise_jwt_auth_create_unconfirmable_users.rb
404
400
  - test/dummy/db/migrate/20140916224624_add_favorite_color_to_mangs.rb
405
401
  - test/dummy/db/migrate/20140829044006_add_operating_thetan_to_user.rb
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Mang < ActiveRecord::Base
4
- # Include default devise modules. Others available are:
5
- # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
6
- devise :database_authenticatable, :registerable,
7
- :recoverable, :rememberable, :validatable
8
- include DeviseJwtAuth::Concerns::User
9
- end
@@ -1,9 +0,0 @@
1
- Rails.application.routes.draw do
2
- mount_devise_jwt_auth_for 'User', at: 'auth'
3
-
4
- mount_devise_jwt_auth_for 'Mang', at: 'mangs'
5
- as :mang do
6
- # Define routes for Mang within this block.
7
- end
8
- patch '/chong', to: 'bong#index'
9
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class DeviseJwtAuthCreateMangs < ActiveRecord::Migration[6.0]
4
- def change
5
- create_table(:mangs) do |t|
6
- ## Required
7
- t.string :provider, null: false, default: 'email'
8
- t.string :uid, null: false, default: ''
9
-
10
- ## User Info
11
- t.string :name
12
- t.string :nickname
13
- t.string :image
14
- t.string :email
15
-
16
- ## Database authenticatable
17
- t.string :encrypted_password, null: false, default: ''
18
-
19
- ## Recoverable
20
- t.string :reset_password_token
21
- t.datetime :reset_password_sent_at
22
- t.boolean :allow_password_change, default: false
23
-
24
- ## Rememberable
25
- t.datetime :remember_created_at
26
-
27
- ## Trackable
28
- # t.integer :sign_in_count, default: 0, null: false
29
- # t.datetime :current_sign_in_at
30
- # t.datetime :last_sign_in_at
31
- # t.string :current_sign_in_ip
32
- # t.string :last_sign_in_ip
33
-
34
- ## Confirmable
35
- t.string :confirmation_token
36
- t.datetime :confirmed_at
37
- t.datetime :confirmation_sent_at
38
- t.string :unconfirmed_email # Only if using reconfirmable
39
-
40
- ## Lockable
41
- # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
42
- # t.string :unlock_token # Only if unlock strategy is :email or :both
43
- # t.datetime :locked_at
44
-
45
- t.timestamps
46
- end
47
-
48
- add_index :mangs, :email, unique: true
49
- add_index :mangs, [:uid, :provider], unique: true
50
- add_index :mangs, :reset_password_token, unique: true
51
- add_index :mangs, :confirmation_token, unique: true
52
- # add_index :mangs, :unlock_token, unique: true
53
- end
54
- end