warden-jwt_auth 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 0f2f0af9e51814e3bb56dac06da854237e512735
4
- data.tar.gz: 18c1169ba5361c4511e3ea5c562c336ef2b949ad
3
+ metadata.gz: b8ed9c8f6cace7db893ccf8e11bd7833cf5262a2
4
+ data.tar.gz: 738ae98ee84748294cb7bb63ac484a89e4edaac8
5
5
  SHA512:
6
- metadata.gz: 630a109af2e1d523dfb908ca3b8867f236767a5a5b71b025efd0a40af37bd7fdffb2ea83d6b58702b9d2574af5f4987cfc96e4dc8f0e02d2db3c7ef3f1eff780
7
- data.tar.gz: 90c04f1196d9a895f1b318e56809fe2783736b6de8ae13d398f6f152eab0b8d554d5e9ac38e0240cff849c6bc28b195d1ff5be93bbd09272e14f766c8f3c6106
6
+ metadata.gz: 0bf76be42a53095676c37beb08a73a060cddfe088fb5f71bc7485291485c20f6c04d156a9a60d6acaaffde833e2c87726a24216ebc4e50d269b577b231bf6241
7
+ data.tar.gz: ded8bc87a384b3ace04c38506c1ec71cc79a8b816c353f13ff4d904e90183b80a59c87c9aec85bbda2b08baf0c33ffda4f8d150e6d1f437d76f37e5a82cc8e81
data/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## [0.1.3] - 2017-04-15
8
+ ### Fixed
9
+ - Coerce `sub` to string to conform with JWT specification
10
+
7
11
  ## [0.1.2] - 2017-04-13
8
12
  ### Fixed
9
13
  - Ignore expired tokens on revocation instead of fail
data/README.md CHANGED
@@ -77,7 +77,7 @@ module UserRepository
77
77
  end
78
78
  ```
79
79
 
80
- User records must implement a `jwt_subject` method returning what should be encoded in the `sub` claim on dispatch time.
80
+ User records must implement a `jwt_subject` method returning what should be encoded in the `sub` claim on dispatch time. Be aware that what is returned must be coercible to string in order to conform with [RFC7519 standard for `sub` claim](https://tools.ietf.org/html/rfc7519#section-4.1.2).
81
81
 
82
82
  ```ruby
83
83
  User = Struct.new(:id, :name)
@@ -9,7 +9,7 @@ module Warden
9
9
  class UserRepository
10
10
  # Finds and returns an [User]
11
11
  #
12
- # @param _sub [BasicObject] JWT sub claim
12
+ # @param _sub [String] JWT sub claim
13
13
  # @return [User]
14
14
  def find_for_jwt_authentication(_sub)
15
15
  raise NotImplementedError
@@ -18,9 +18,9 @@ module Warden
18
18
 
19
19
  # An user
20
20
  class User
21
- # What will be encoded as `sub` claim
21
+ # What will be encoded as `sub` claim. It must respond to `#to_s`.
22
22
  #
23
- # @return [BasicObject] `sub` claim
23
+ # @return [#to_s] `sub` claim
24
24
  def jwt_subject
25
25
  raise NotImplementedError
26
26
  end
@@ -30,7 +30,7 @@ module Warden
30
30
  # :reek:ManualDispatch
31
31
  def self.payload_for_user(user, scope)
32
32
  sub = user.jwt_subject
33
- payload = { 'sub' => sub, 'scp' => scope.to_s }
33
+ payload = { 'sub' => String(sub), 'scp' => scope.to_s }
34
34
  return payload unless user.respond_to?(:jwt_payload)
35
35
  user.jwt_payload.merge(payload)
36
36
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Warden
4
4
  module JWTAuth
5
- VERSION = '0.1.2'
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warden-jwt_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Busqué
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-13 00:00:00.000000000 Z
11
+ date: 2017-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable