rails_jwt_auth 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6dea41e10dc4a6cbed20dda27ee1c6e0f68a947c08fa83e0c617e7f2407156b8
4
- data.tar.gz: b1331f29423b908ba9712c1a5ebf303dc21a13577507c27ff47ce08f6c585902
3
+ metadata.gz: 2c14c4018d6e871d503f3573886bdc7822a620859aef7b32f0a719a2252b5aa8
4
+ data.tar.gz: 4d4e2c16de9787f6c7b940274a3583e112b81cd438623528e0b4cdbc5840b6a5
5
5
  SHA512:
6
- metadata.gz: 68dda6972d70400b76987eec57c1e3323eb3f7eac49c3f4eb3102a8ca0fe9d2b8e621743aa50147545ce3d4ddb17cc15d20942872fe94f077aa6094238e1afed
7
- data.tar.gz: 573960c4cad77a2cce9de2e33008c2beae5210fce9f1d3b9c1fc3747a5ca18bab3a133f3055d24a85e83bd22713606564d100a134735e09d7ebade47e6b7ffea
6
+ metadata.gz: 6c4caceaa1fdcb313994525a8d734df570202beccd88f9f76131e5d5ba46c4c551a87ac3091261e92feb46339e6a52b3fe407c4768b62f6c834508b1193713dc
7
+ data.tar.gz: 427687273a0d51fc837cac6ed841363d707ef87790b1a0d52283ca33bc9a1484e16ae1c5c4691b3649687b1cd2ce9e3a83827aa61afe1757a589b416f2b1d05b
data/README.md CHANGED
@@ -59,7 +59,7 @@ rails g rails_jwt_auth:migrate
59
59
 
60
60
  ## Configuration
61
61
 
62
- You can edit configuration options into `config/initializers/auth_token_auth.rb` file created by generator.
62
+ You can edit configuration options into `config/initializers/rails_jwt_auth.rb` file created by generator.
63
63
 
64
64
  | Option | Default value | Description |
65
65
  | ------------------------------- | ----------------- | ---------------------------------------------------------------------- |
@@ -187,6 +187,10 @@ end
187
187
 
188
188
  Return current signed-in user.
189
189
 
190
+ - **jwt_payload**
191
+
192
+ Return current jwt payload.
193
+
190
194
  - **signed_in?**
191
195
 
192
196
  Verify if a user is signed in.
@@ -205,8 +209,8 @@ Session api is defined by `RailsJwtAuth::SessionsController`.
205
209
  method: POST,
206
210
  data: {
207
211
  session: {
208
- email: "user@email.com",
209
- password: "12345678"
212
+ email: 'user@email.com',
213
+ password: '12345678'
210
214
  }
211
215
  }
212
216
  }
@@ -234,8 +238,8 @@ Registration api is defined by `RailsJwtAuth::RegistrationsController`.
234
238
  method: POST,
235
239
  data: {
236
240
  user: {
237
- email: "user@email.com",
238
- password: "12345678"
241
+ email: 'user@email.com',
242
+ password: '12345678'
239
243
  }
240
244
  }
241
245
  }
@@ -245,6 +249,8 @@ Registration api is defined by `RailsJwtAuth::RegistrationsController`.
245
249
 
246
250
  Confirmation api is defined by `RailsJwtAuth::ConfirmationsController`.
247
251
 
252
+ It is necessary to set a value for `confirmations_url` option into `config/initializers/rails_jwt_auth.rb`.
253
+
248
254
  1. Confirm user:
249
255
 
250
256
  ```js
@@ -252,7 +258,7 @@ Confirmation api is defined by `RailsJwtAuth::ConfirmationsController`.
252
258
  url: host/confirmation,
253
259
  method: PUT
254
260
  data: {
255
- confirmation_token: "token"
261
+ confirmation_token: 'token'
256
262
  }
257
263
  }
258
264
  ```
@@ -265,7 +271,7 @@ Confirmation api is defined by `RailsJwtAuth::ConfirmationsController`.
265
271
  method: POST,
266
272
  data: {
267
273
  confirmation: {
268
- email: "user@example.com"
274
+ email: 'user@example.com'
269
275
  }
270
276
  }
271
277
  }
@@ -283,7 +289,7 @@ Password api is defined by `RailsJwtAuth::PasswordsController`.
283
289
  method: POST,
284
290
  data: {
285
291
  password: {
286
- email: "user@example.com"
292
+ email: 'user@example.com'
287
293
  }
288
294
  }
289
295
  }
@@ -296,7 +302,7 @@ Password api is defined by `RailsJwtAuth::PasswordsController`.
296
302
  url: host/password,
297
303
  method: PUT,
298
304
  data: {
299
- reset_password_token: "token",
305
+ reset_password_token: 'token',
300
306
  password: {
301
307
  password: '1234',
302
308
  password_confirmation: '1234'
@@ -317,7 +323,7 @@ Invitations api is provided by `RailsJwtAuth::InvitationsController`.
317
323
  method: POST,
318
324
  data: {
319
325
  invitation: {
320
- email: "user@example.com",
326
+ email: 'user@example.com',
321
327
  // More fields of your user
322
328
  }
323
329
  }
@@ -426,7 +432,10 @@ class CurrentUserController < ApplicationController
426
432
 
427
433
  def update
428
434
  if update_params[:password]
429
- current_user.update_with_password(update_params)
435
+ # update password and remove other sessions tokens
436
+ current_user.update_with_password(
437
+ update_params.merge(auth_tokens: [jwt_payload['auth_token']])
438
+ )
430
439
  else
431
440
  current_user.update_attributes(update_params)
432
441
  end
@@ -471,7 +480,7 @@ require 'rails_jwt_auth/spec_helpers'
471
480
  ...
472
481
  RSpec.configure do |config|
473
482
  ...
474
- config.include RailsJwtAuth::SpecHelpers, :type => :controller
483
+ config.include RailsJwtAuth::SpecHelpers, type: :controller
475
484
  end
476
485
  ```
477
486
 
@@ -479,11 +488,11 @@ And then we can just call sign_in(user) to sign in as a user:
479
488
 
480
489
  ```ruby
481
490
  describe ExampleController
482
- it "blocks unauthenticated access" do
483
- expect { get :index }.to raise_error(RailsJwtAuth::Errors::NotAuthorized)
491
+ it 'blocks unauthenticated access' do
492
+ expect { get :index }.to raise_error(RailsJwtAuth::NotAuthorized)
484
493
  end
485
494
 
486
- it "allows authenticated access" do
495
+ it 'allows authenticated access' do
487
496
  sign_in user
488
497
  get :index
489
498
  expect(response).to be_success
@@ -6,18 +6,22 @@ module RailsJwtAuth
6
6
  @current_user
7
7
  end
8
8
 
9
+ def jwt_payload
10
+ @jwt_payload
11
+ end
12
+
9
13
  def signed_in?
10
14
  !current_user.nil?
11
15
  end
12
16
 
13
17
  def authenticate!
14
18
  begin
15
- payload = RailsJwtAuth::JwtManager.decode_from_request(request).first
19
+ @jwt_payload = RailsJwtAuth::JwtManager.decode_from_request(request).first
16
20
  rescue JWT::ExpiredSignature, JWT::VerificationError, JWT::DecodeError
17
21
  unauthorize!
18
22
  end
19
23
 
20
- if !@current_user = RailsJwtAuth.model.from_token_payload(payload)
24
+ if !@current_user = RailsJwtAuth.model.from_token_payload(@jwt_payload)
21
25
  unauthorize!
22
26
  elsif @current_user.respond_to? :update_tracked_fields!
23
27
  @current_user.update_tracked_fields!(request)
@@ -26,8 +30,8 @@ module RailsJwtAuth
26
30
 
27
31
  def authenticate
28
32
  begin
29
- payload = RailsJwtAuth::JwtManager.decode_from_request(request).first
30
- @current_user = RailsJwtAuth.model.from_token_payload(payload)
33
+ @jwt_payload = RailsJwtAuth::JwtManager.decode_from_request(request).first
34
+ @current_user = RailsJwtAuth.model.from_token_payload(@jwt_payload)
31
35
  rescue JWT::ExpiredSignature, JWT::VerificationError, JWT::DecodeError
32
36
  @current_user = nil
33
37
  end
@@ -14,7 +14,10 @@ module RailsJwtAuth
14
14
  validate :validate_reset_password_token, if: :password_digest_changed?
15
15
 
16
16
  before_update do
17
- self.reset_password_token = nil if password_digest_changed? && reset_password_token
17
+ if password_digest_changed? && reset_password_token
18
+ self.reset_password_token = nil
19
+ self.auth_tokens = []
20
+ end
18
21
  end
19
22
  end
20
23
  end
@@ -1,3 +1,3 @@
1
1
  module RailsJwtAuth
2
- VERSION = '1.4.1'
2
+ VERSION = '1.5.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_jwt_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rjurado
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2020-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt