traitify 2.1.3.alpha.1 → 2.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8c40ca1203b8eb9aa9f10ac095a7f3d488a8146393cbf659584314b50be6ebe
4
- data.tar.gz: 779bfea6a6107a8b480758150ec15fec625e5a1ba15796d43f52701178491519
3
+ metadata.gz: feed6897360bb3066938841923aa886175ddf19d1526de01469b7ae6ccce9e33
4
+ data.tar.gz: 82c74df22ce680c28892206a23d8068db93704a595b342e09368f776e0374b86
5
5
  SHA512:
6
- metadata.gz: e9f493c0202b90d22c501ff5eaab8e032908ba373b9d15835fdebd28612c38defd7284cd881d688fff6ee880d6229b1fdc9e5b424395904d676896fc4e0847da
7
- data.tar.gz: e160f43137c1c62274d72d64296d73d0834f9db8c3a2743fecd4a6962689e8c8e6385cddca781a46075966a50dcc7125af4d7eb4ebb1f4115bd7d172bd8fd3da
6
+ metadata.gz: eaea796664d9301a5bd49d8d833da81237ffd57a248b81bf7cd7cd58b4b607afd0b0f5db482ee10b380a8e8e644ef557d830c46d6fcd37b33e79a558b80d3f1a
7
+ data.tar.gz: 6f277ccf18b51a321bdb6bb4d55d38f58b3a3b8fd6350d63a8053ddd5b1bedb25de92b806f78de294577987852543f020c61092af0461cc2061505c5b1b5d16d
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- traitify (2.1.0)
5
- activesupport (>= 5.1, < 8.x)
4
+ traitify (2.1.4)
5
+ activesupport (>= 5.1, < 9)
6
6
  faraday (~> 2.5)
7
7
  faraday-net_http (~> 3.0)
8
8
  faraday-retry (~> 2.2)
@@ -11,30 +11,29 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activesupport (7.1.5.2)
14
+ activesupport (8.1.3)
15
15
  base64
16
- benchmark (>= 0.3)
17
16
  bigdecimal
18
- concurrent-ruby (~> 1.0, >= 1.0.2)
17
+ concurrent-ruby (~> 1.0, >= 1.3.1)
19
18
  connection_pool (>= 2.2.5)
20
19
  drb
21
20
  i18n (>= 1.6, < 2)
21
+ json
22
22
  logger (>= 1.4.2)
23
23
  minitest (>= 5.1)
24
- mutex_m
25
24
  securerandom (>= 0.3)
26
- tzinfo (~> 2.0)
25
+ tzinfo (~> 2.0, >= 2.0.5)
26
+ uri (>= 0.13.1)
27
27
  addressable (2.8.7)
28
28
  public_suffix (>= 2.0.2, < 7.0)
29
29
  ast (2.4.3)
30
30
  base64 (0.3.0)
31
- benchmark (0.4.1)
32
- bigdecimal (3.3.0)
31
+ bigdecimal (4.1.2)
33
32
  binding_of_caller (1.0.1)
34
33
  debug_inspector (>= 1.2.0)
35
34
  coderay (1.1.3)
36
- concurrent-ruby (1.3.5)
37
- connection_pool (2.5.4)
35
+ concurrent-ruby (1.3.6)
36
+ connection_pool (3.0.2)
38
37
  crack (1.0.0)
39
38
  bigdecimal
40
39
  rexml
@@ -42,15 +41,16 @@ GEM
42
41
  diff-lcs (1.6.2)
43
42
  docile (1.4.1)
44
43
  drb (2.2.3)
45
- faraday (2.8.1)
46
- base64
47
- faraday-net_http (>= 2.0, < 3.1)
48
- ruby2_keywords (>= 0.0.4)
49
- faraday-net_http (3.0.2)
50
- faraday-retry (2.3.2)
44
+ faraday (2.14.1)
45
+ faraday-net_http (>= 2.0, < 3.5)
46
+ json
47
+ logger
48
+ faraday-net_http (3.4.2)
49
+ net-http (~> 0.5)
50
+ faraday-retry (2.4.0)
51
51
  faraday (~> 2.0)
52
52
  hashdiff (1.2.1)
53
- i18n (1.14.7)
53
+ i18n (1.14.8)
54
54
  concurrent-ruby (~> 1.0)
55
55
  json (2.15.1)
56
56
  jwt (2.10.2)
@@ -59,8 +59,11 @@ GEM
59
59
  lint_roller (1.1.0)
60
60
  logger (1.7.0)
61
61
  method_source (1.1.0)
62
- minitest (5.25.5)
63
- mutex_m (0.3.0)
62
+ minitest (6.0.6)
63
+ drb (~> 2.0)
64
+ prism (~> 1.5)
65
+ net-http (0.9.1)
66
+ uri (>= 0.11.1)
64
67
  parallel (1.27.0)
65
68
  parser (3.3.9.0)
66
69
  ast (~> 2.4.1)
@@ -133,8 +136,7 @@ GEM
133
136
  rubocop-traitify (1.3.0)
134
137
  rubocop-airbnb (~> 8.0.0)
135
138
  ruby-progressbar (1.13.0)
136
- ruby2_keywords (0.0.5)
137
- securerandom (0.3.2)
139
+ securerandom (0.4.1)
138
140
  simplecov (0.21.2)
139
141
  docile (~> 1.1)
140
142
  simplecov-html (~> 0.11)
@@ -146,6 +148,7 @@ GEM
146
148
  unicode-display_width (3.2.0)
147
149
  unicode-emoji (~> 4.1)
148
150
  unicode-emoji (4.1.0)
151
+ uri (1.1.1)
149
152
  webmock (3.25.1)
150
153
  addressable (>= 2.8.0)
151
154
  crack (>= 0.3.2)
@@ -154,6 +157,7 @@ GEM
154
157
  PLATFORMS
155
158
  arm64-darwin-20
156
159
  arm64-darwin-21
160
+ arm64-darwin-24
157
161
  x86_64-linux
158
162
 
159
163
  DEPENDENCIES
@@ -1,3 +1,5 @@
1
+ require "cgi"
2
+
1
3
  module Traitify
2
4
  class Response
3
5
  attr_reader :request
@@ -1,3 +1,3 @@
1
1
  module Traitify
2
- VERSION = "2.1.3.alpha.1".freeze
2
+ VERSION = "2.1.4".freeze
3
3
  end
@@ -2,8 +2,8 @@ require "spec_helper"
2
2
 
3
3
  describe Traitify do
4
4
  describe ".valid_jwt_token?" do
5
- let(:private_key){ OpenSSL::PKey::RSA.new(2048) }
6
- let(:public_key){ private_key.public_key }
5
+ let(:private_key){ OpenSSL::PKey::EC.generate("prime256v1") }
6
+ let(:public_key_pem){ private_key.public_to_pem }
7
7
  let(:valid_payload) do
8
8
  {
9
9
  iss: "Traitify by Paradox",
@@ -14,7 +14,7 @@ describe Traitify do
14
14
  end
15
15
 
16
16
  before do
17
- Traitify.jwt_public_keys = [public_key.to_pem]
17
+ Traitify.jwt_public_keys = [public_key_pem]
18
18
  end
19
19
 
20
20
  after do
@@ -23,7 +23,7 @@ describe Traitify do
23
23
 
24
24
  context "with valid token" do
25
25
  let(:valid_token) do
26
- JWT.encode(valid_payload, private_key, "RS256")
26
+ JWT.encode(valid_payload, private_key, "ES256")
27
27
  end
28
28
 
29
29
  it "returns true" do
@@ -33,8 +33,8 @@ describe Traitify do
33
33
 
34
34
  context "with invalid signature" do
35
35
  let(:invalid_token) do
36
- other_private_key = OpenSSL::PKey::RSA.new(2048)
37
- JWT.encode(valid_payload, other_private_key, "RS256")
36
+ other_private_key = OpenSSL::PKey::EC.generate("prime256v1")
37
+ JWT.encode(valid_payload, other_private_key, "ES256")
38
38
  end
39
39
 
40
40
  it "returns false" do
@@ -55,7 +55,7 @@ describe Traitify do
55
55
  valid_payload.merge(iat: 1.hour.ago.to_i, exp: 1.hour.ago.to_i)
56
56
  end
57
57
  let(:expired_token) do
58
- JWT.encode(expired_payload, private_key, "RS256")
58
+ JWT.encode(expired_payload, private_key, "ES256")
59
59
  end
60
60
 
61
61
  it "returns false" do
@@ -68,7 +68,7 @@ describe Traitify do
68
68
  valid_payload.merge(iss: "Wrong Issuer")
69
69
  end
70
70
  let(:wrong_issuer_token) do
71
- JWT.encode(wrong_issuer_payload, private_key, "RS256")
71
+ JWT.encode(wrong_issuer_payload, private_key, "ES256")
72
72
  end
73
73
 
74
74
  it "returns false" do
@@ -77,16 +77,16 @@ describe Traitify do
77
77
  end
78
78
 
79
79
  context "with multiple public keys" do
80
- let(:legacy_private_key){ OpenSSL::PKey::RSA.new(2048) }
81
- let(:legacy_public_key){ legacy_private_key.public_key }
80
+ let(:legacy_private_key){ OpenSSL::PKey::EC.generate("prime256v1") }
81
+ let(:legacy_public_key_pem){ legacy_private_key.public_to_pem }
82
82
 
83
83
  before do
84
- Traitify.jwt_public_keys = [public_key.to_pem, legacy_public_key.to_pem]
84
+ Traitify.jwt_public_keys = [public_key_pem, legacy_public_key_pem]
85
85
  end
86
86
 
87
87
  context "when token is signed with current key" do
88
88
  let(:current_token) do
89
- JWT.encode(valid_payload, private_key, "RS256")
89
+ JWT.encode(valid_payload, private_key, "ES256")
90
90
  end
91
91
 
92
92
  it "returns true" do
@@ -96,7 +96,7 @@ describe Traitify do
96
96
 
97
97
  context "when token is signed with legacy key" do
98
98
  let(:legacy_token) do
99
- JWT.encode(valid_payload, legacy_private_key, "RS256")
99
+ JWT.encode(valid_payload, legacy_private_key, "ES256")
100
100
  end
101
101
 
102
102
  it "returns true" do
@@ -115,7 +115,7 @@ describe Traitify do
115
115
  }
116
116
  end
117
117
  let(:future_iat_token) do
118
- JWT.encode(future_iat_payload, private_key, "RS256")
118
+ JWT.encode(future_iat_payload, private_key, "ES256")
119
119
  end
120
120
 
121
121
  it "returns false" do
@@ -133,7 +133,7 @@ describe Traitify do
133
133
  }
134
134
  end
135
135
  let(:future_nbf_token) do
136
- JWT.encode(future_nbf_payload, private_key, "RS256")
136
+ JWT.encode(future_nbf_payload, private_key, "ES256")
137
137
  end
138
138
 
139
139
  it "returns false" do
@@ -150,7 +150,7 @@ describe Traitify do
150
150
  }
151
151
  end
152
152
  let(:missing_jti_token) do
153
- JWT.encode(missing_jti_payload, private_key, "RS256")
153
+ JWT.encode(missing_jti_payload, private_key, "ES256")
154
154
  end
155
155
 
156
156
  it "returns false" do
@@ -168,7 +168,7 @@ describe Traitify do
168
168
  }
169
169
  end
170
170
  let(:blank_jti_token) do
171
- JWT.encode(blank_jti_payload, private_key, "RS256")
171
+ JWT.encode(blank_jti_payload, private_key, "ES256")
172
172
  end
173
173
 
174
174
  it "returns false" do
@@ -186,7 +186,7 @@ describe Traitify do
186
186
  }
187
187
  end
188
188
  let(:nil_jti_token) do
189
- JWT.encode(nil_jti_payload, private_key, "RS256")
189
+ JWT.encode(nil_jti_payload, private_key, "ES256")
190
190
  end
191
191
 
192
192
  it "returns false" do
@@ -203,7 +203,7 @@ describe Traitify do
203
203
  }
204
204
  end
205
205
  let(:missing_iat_token) do
206
- JWT.encode(missing_iat_payload, private_key, "RS256")
206
+ JWT.encode(missing_iat_payload, private_key, "ES256")
207
207
  end
208
208
 
209
209
  it "returns true" do
@@ -220,7 +220,7 @@ describe Traitify do
220
220
  }
221
221
  end
222
222
  let(:missing_nbf_token) do
223
- JWT.encode(missing_nbf_payload, private_key, "RS256")
223
+ JWT.encode(missing_nbf_payload, private_key, "ES256")
224
224
  end
225
225
 
226
226
  it "returns true" do
data/traitify.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "activesupport", ">= 5.1", "< 8.x"
21
+ spec.add_runtime_dependency "activesupport", ">= 5.1", "< 9"
22
22
  spec.add_runtime_dependency "faraday", "~> 2.5"
23
23
  spec.add_runtime_dependency "faraday-net_http", "~> 3.0"
24
24
  spec.add_runtime_dependency "faraday-retry", "~> 2.2"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traitify
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3.alpha.1
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Prats
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-03-27 00:00:00.000000000 Z
13
+ date: 2026-05-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '5.1'
22
22
  - - "<"
23
23
  - !ruby/object:Gem::Version
24
- version: 8.x
24
+ version: '9'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,7 +31,7 @@ dependencies:
31
31
  version: '5.1'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
- version: 8.x
34
+ version: '9'
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: faraday
37
37
  requirement: !ruby/object:Gem::Requirement
@@ -286,11 +286,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
286
  version: '0'
287
287
  required_rubygems_version: !ruby/object:Gem::Requirement
288
288
  requirements:
289
- - - ">"
289
+ - - ">="
290
290
  - !ruby/object:Gem::Version
291
- version: 1.3.1
291
+ version: '0'
292
292
  requirements: []
293
- rubygems_version: 3.1.4
293
+ rubygems_version: 3.5.11
294
294
  signing_key:
295
295
  specification_version: 4
296
296
  summary: Traitify Gem