jwt_sessions 2.3.0 → 2.3.1

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.
@@ -1,120 +1,120 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'minitest/autorun'
4
- require 'jwt_sessions'
5
- require 'pry'
3
+ require "minitest/autorun"
4
+ require "jwt_sessions"
5
+ require "pry"
6
6
 
7
7
  nacl_supported_versions = {
8
- 'ruby' => ['~> 2.2.6', '~> 2.3.0', '~> 2.4.2'],
9
- 'jruby' => ['~> 9.1.6.0']
8
+ "ruby" => ["~> 2.2.6", "~> 2.3.0", "~> 2.4.2"],
9
+ "jruby" => ["~> 9.1.6.0"]
10
10
  }.each_with_object([]) do |(platform, versions), acc|
11
11
  acc.concat(versions.map { |version| Gem::Dependency.new(platform, version) })
12
12
  end
13
13
 
14
14
  nacl_supported = nacl_supported_versions.any? { |version| version.match?(RUBY_ENGINE, RUBY_VERSION) }
15
15
 
16
- $uses_nacl = !!(defined?(RbNaCl) || require('rbnacl') if nacl_supported)
16
+ $uses_nacl = !!(defined?(RbNaCl) || require("rbnacl") if nacl_supported)
17
17
 
18
18
  class TestToken < Minitest::Test
19
19
  attr_reader :payload
20
20
 
21
21
  def setup
22
- @payload = { 'user_id' => 1, 'secret' => 'mystery' }
23
- JWTSessions.encryption_key = 'abcdefghijklmnopqrstuvwxyzABCDEF'
22
+ @payload = { "user_id" => 1, "secret" => "mystery" }
23
+ JWTSessions.encryption_key = "abcdefghijklmnopqrstuvwxyzABCDEF"
24
24
  end
25
25
 
26
26
  def teardown
27
27
  JWTSessions.algorithm = JWTSessions::DEFAULT_ALGORITHM
28
- JWTSessions.instance_variable_set(:'@jwt_options', JWTSessions::JWTOptions.new(*JWT::DefaultOptions::DEFAULT_OPTIONS.values))
28
+ JWTSessions.instance_variable_set(:"@jwt_options", JWTSessions::JWTOptions.new(*JWT::DefaultOptions::DEFAULT_OPTIONS.values))
29
29
  end
30
30
 
31
31
  def test_rsa_token_decode
32
- JWTSessions.algorithm = 'RS256'
32
+ JWTSessions.algorithm = "RS256"
33
33
  JWTSessions.private_key = OpenSSL::PKey::RSA.generate 2048
34
34
  JWTSessions.public_key = JWTSessions.private_key.public_key
35
35
 
36
36
  token = JWTSessions::Token.encode(payload)
37
37
  decoded = JWTSessions::Token.decode(token).first
38
- assert_equal payload['user_id'], decoded['user_id']
39
- assert_equal payload['secret'], decoded['secret']
38
+ assert_equal payload["user_id"], decoded["user_id"]
39
+ assert_equal payload["secret"], decoded["secret"]
40
40
  end
41
41
 
42
42
  def test_eddsa_token_decode
43
43
  skip unless $uses_nacl
44
- JWTSessions.algorithm = 'ED25519'
45
- JWTSessions.private_key = ::RbNaCl::Signatures::Ed25519::SigningKey.new('abcdefghijklmnopqrstuvwxyzABCDEF')
44
+ JWTSessions.algorithm = "ED25519"
45
+ JWTSessions.private_key = ::RbNaCl::Signatures::Ed25519::SigningKey.new("abcdefghijklmnopqrstuvwxyzABCDEF")
46
46
  JWTSessions.public_key = JWTSessions.private_key.verify_key
47
47
 
48
48
  token = JWTSessions::Token.encode(payload)
49
49
  decoded = JWTSessions::Token.decode(token).first
50
- assert_equal payload['user_id'], decoded['user_id']
51
- assert_equal payload['secret'], decoded['secret']
50
+ assert_equal payload["user_id"], decoded["user_id"]
51
+ assert_equal payload["secret"], decoded["secret"]
52
52
  end
53
53
 
54
54
  def test_ecdsa_token_decode
55
- JWTSessions.algorithm = 'ES256'
56
- JWTSessions.private_key = OpenSSL::PKey::EC.new 'prime256v1'
55
+ JWTSessions.algorithm = "ES256"
56
+ JWTSessions.private_key = OpenSSL::PKey::EC.new "prime256v1"
57
57
  JWTSessions.private_key.generate_key
58
58
  JWTSessions.public_key = OpenSSL::PKey::EC.new JWTSessions.private_key
59
59
  JWTSessions.public_key.private_key = nil
60
60
 
61
61
  token = JWTSessions::Token.encode(payload)
62
62
  decoded = JWTSessions::Token.decode(token).first
63
- assert_equal payload['user_id'], decoded['user_id']
64
- assert_equal payload['secret'], decoded['secret']
63
+ assert_equal payload["user_id"], decoded["user_id"]
64
+ assert_equal payload["secret"], decoded["secret"]
65
65
  end
66
66
 
67
67
  def test_hmac_token_decode
68
- JWTSessions.encryption_key = 'abcdefghijklmnopqrstuvwxyzABCDEF'
68
+ JWTSessions.encryption_key = "abcdefghijklmnopqrstuvwxyzABCDEF"
69
69
  token = JWTSessions::Token.encode(payload)
70
70
  decoded = JWTSessions::Token.decode(token).first
71
- assert_equal payload['user_id'], decoded['user_id']
72
- assert_equal payload['secret'], decoded['secret']
71
+ assert_equal payload["user_id"], decoded["user_id"]
72
+ assert_equal payload["secret"], decoded["secret"]
73
73
  end
74
74
 
75
75
  def test_token_sub_claim
76
- JWTSessions.encryption_key = 'abcdefghijklmnopqrstuvwxyzABCDEF'
76
+ JWTSessions.encryption_key = "abcdefghijklmnopqrstuvwxyzABCDEF"
77
77
  JWTSessions.jwt_options.verify_sub = true
78
- token = JWTSessions::Token.encode(payload.merge(sub: 'subject'))
79
- decoded = JWTSessions::Token.decode(token, { sub: 'subject' }).first
80
- assert_equal payload['user_id'], decoded['user_id']
81
- assert_equal payload['secret'], decoded['secret']
78
+ token = JWTSessions::Token.encode(payload.merge(sub: "subject"))
79
+ decoded = JWTSessions::Token.decode(token, { sub: "subject" }).first
80
+ assert_equal payload["user_id"], decoded["user_id"]
81
+ assert_equal payload["secret"], decoded["secret"]
82
82
  assert_raises JWTSessions::Errors::ClaimsVerification do
83
- JWTSessions::Token.decode(token, { sub: 'different subject' })
83
+ JWTSessions::Token.decode(token, { sub: "different subject" })
84
84
  end
85
85
  end
86
86
 
87
87
  def test_token_iss_claim
88
- JWTSessions.encryption_key = 'abcdefghijklmnopqrstuvwxyzABCDEF'
88
+ JWTSessions.encryption_key = "abcdefghijklmnopqrstuvwxyzABCDEF"
89
89
  JWTSessions.jwt_options.verify_iss = true
90
- token = JWTSessions::Token.encode(payload.merge(iss: 'Me'))
91
- decoded = JWTSessions::Token.decode(token, { iss: 'Me' }).first
92
- assert_equal payload['user_id'], decoded['user_id']
93
- assert_equal payload['secret'], decoded['secret']
90
+ token = JWTSessions::Token.encode(payload.merge(iss: "Me"))
91
+ decoded = JWTSessions::Token.decode(token, { iss: "Me" }).first
92
+ assert_equal payload["user_id"], decoded["user_id"]
93
+ assert_equal payload["secret"], decoded["secret"]
94
94
  assert_raises JWTSessions::Errors::ClaimsVerification do
95
- JWTSessions::Token.decode(token, { iss: 'Not Me' })
95
+ JWTSessions::Token.decode(token, { iss: "Not Me" })
96
96
  end
97
97
  end
98
98
 
99
99
  def test_token_aud_claim
100
- JWTSessions.encryption_key = 'abcdefghijklmnopqrstuvwxyzABCDEF'
100
+ JWTSessions.encryption_key = "abcdefghijklmnopqrstuvwxyzABCDEF"
101
101
  JWTSessions.jwt_options.verify_aud = true
102
- token = JWTSessions::Token.encode(payload.merge(aud: ['young', 'old']))
103
- decoded = JWTSessions::Token.decode(token, { aud: ['young'] }).first
104
- assert_equal payload['user_id'], decoded['user_id']
105
- assert_equal payload['secret'], decoded['secret']
102
+ token = JWTSessions::Token.encode(payload.merge(aud: ["young", "old"]))
103
+ decoded = JWTSessions::Token.decode(token, { aud: ["young"] }).first
104
+ assert_equal payload["user_id"], decoded["user_id"]
105
+ assert_equal payload["secret"], decoded["secret"]
106
106
  assert_raises JWTSessions::Errors::ClaimsVerification do
107
- JWTSessions::Token.decode(token, { aud: ['adult'] })
107
+ JWTSessions::Token.decode(token, { aud: ["adult"] })
108
108
  end
109
109
  end
110
110
 
111
111
  def test_token_leeway_decode
112
- JWTSessions.encryption_key = 'abcdefghijklmnopqrstuvwxyzABCDEF'
112
+ JWTSessions.encryption_key = "abcdefghijklmnopqrstuvwxyzABCDEF"
113
113
  JWTSessions.jwt_options.leeway = 50
114
114
  token = JWTSessions::Token.encode(payload.merge(exp: Time.now.to_i - 20))
115
115
  decoded = JWTSessions::Token.decode(token).first
116
- assert_equal payload['user_id'], decoded['user_id']
117
- assert_equal payload['secret'], decoded['secret']
116
+ assert_equal payload["user_id"], decoded["user_id"]
117
+ assert_equal payload["secret"], decoded["secret"]
118
118
  token = JWTSessions::Token.encode(payload.merge(exp: Time.now.to_i - 100))
119
119
  assert_raises JWTSessions::Errors::Unauthorized do
120
120
  JWTSessions::Token.decode(token)
@@ -125,16 +125,16 @@ class TestToken < Minitest::Test
125
125
  JWTSessions.algorithm = JWTSessions::NONE
126
126
  token = JWTSessions::Token.encode(payload)
127
127
  decoded = JWTSessions::Token.decode(token).first
128
- assert_equal payload['user_id'], decoded['user_id']
129
- assert_equal payload['secret'], decoded['secret']
128
+ assert_equal payload["user_id"], decoded["user_id"]
129
+ assert_equal payload["secret"], decoded["secret"]
130
130
  end
131
131
 
132
132
  def test_invalid_token_decode
133
133
  assert_raises JWTSessions::Errors::Unauthorized do
134
- JWTSessions::Token.decode('abc')
134
+ JWTSessions::Token.decode("abc")
135
135
  end
136
136
  assert_raises JWTSessions::Errors::Unauthorized do
137
- JWTSessions::Token.decode('')
137
+ JWTSessions::Token.decode("")
138
138
  end
139
139
  assert_raises JWTSessions::Errors::Unauthorized do
140
140
  JWTSessions::Token.decode(nil)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'minitest/autorun'
4
- require 'jwt_sessions'
3
+ require "minitest/autorun"
4
+ require "jwt_sessions"
5
5
 
6
6
  class TestJWTSessions < Minitest::Test
7
7
  def test_default_settings
@@ -30,9 +30,9 @@ class TestJWTSessions < Minitest::Test
30
30
  end
31
31
 
32
32
  def test_by_token_type
33
- assert_equal JWTSessions.access_header, JWTSessions.header_by('access')
34
- assert_equal JWTSessions.refresh_header, JWTSessions.header_by('refresh')
35
- assert_equal JWTSessions.access_cookie, JWTSessions.cookie_by('access')
36
- assert_equal JWTSessions.refresh_cookie, JWTSessions.cookie_by('refresh')
33
+ assert_equal JWTSessions.access_header, JWTSessions.header_by("access")
34
+ assert_equal JWTSessions.refresh_header, JWTSessions.header_by("refresh")
35
+ assert_equal JWTSessions.access_cookie, JWTSessions.cookie_by("access")
36
+ assert_equal JWTSessions.refresh_cookie, JWTSessions.cookie_by("refresh")
37
37
  end
38
38
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'minitest/autorun'
4
- require 'jwt_sessions'
3
+ require "minitest/autorun"
4
+ require "jwt_sessions"
5
5
 
6
6
  class TestTokenStore < Minitest::Test
7
7
  def teardown
@@ -15,22 +15,22 @@ class TestTokenStore < Minitest::Test
15
15
  end
16
16
 
17
17
  def test_setting_redis_token_store_with_default_prefix
18
- JWTSessions.token_store = :redis, { redis_url: 'redis://127.0.0.1:6379/0' }
18
+ JWTSessions.token_store = :redis, { redis_url: "redis://127.0.0.1:6379/0" }
19
19
  assert_instance_of JWTSessions::StoreAdapters::RedisStoreAdapter, JWTSessions.token_store
20
- assert_equal 'jwt_', JWTSessions.token_store.prefix
20
+ assert_equal "jwt_", JWTSessions.token_store.prefix
21
21
  end
22
22
 
23
23
  def test_setting_redis_token_store
24
- JWTSessions.token_store = :redis, { redis_url: 'redis://127.0.0.1:6379/0', token_prefix: 'prefix' }
24
+ JWTSessions.token_store = :redis, { redis_url: "redis://127.0.0.1:6379/0", token_prefix: "prefix" }
25
25
  assert_instance_of JWTSessions::StoreAdapters::RedisStoreAdapter, JWTSessions.token_store
26
- assert_equal 'prefix', JWTSessions.token_store.prefix
26
+ assert_equal "prefix", JWTSessions.token_store.prefix
27
27
  end
28
28
 
29
29
  def test_setting_redis_token_store_along_with_module_configuration
30
30
  JWTSessions.redis_port = 6378
31
31
  JWTSessions.token_store = :redis
32
32
 
33
- assert_equal 'redis://127.0.0.1:6378/0', JWTSessions.token_store.storage.connection[:id]
33
+ assert_equal "redis://127.0.0.1:6378/0", JWTSessions.token_store.storage.connection[:id]
34
34
  end
35
35
 
36
36
  def test_setting_redis_token_store_without_options
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jwt_sessions
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yulia Oletskaya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-10 00:00:00.000000000 Z
11
+ date: 2019-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -34,14 +34,14 @@ dependencies:
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.16'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.16'
47
47
  - !ruby/object:Gem::Dependency