webauthn 3.0.0 → 3.4.2

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/actions/install-openssl/action.yml +55 -0
  3. data/.github/actions/install-ruby/action.yml +84 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/build.yml +60 -10
  6. data/.github/workflows/git.yml +1 -1
  7. data/.rubocop.yml +1 -1
  8. data/CHANGELOG.md +77 -0
  9. data/README.md +5 -4
  10. data/docs/advanced_configuration.md +16 -15
  11. data/lib/webauthn/attestation_statement/base.rb +10 -1
  12. data/lib/webauthn/authenticator_assertion_response.rb +16 -2
  13. data/lib/webauthn/authenticator_attestation_response.rb +5 -4
  14. data/lib/webauthn/authenticator_response.rb +16 -6
  15. data/lib/webauthn/client_data.rb +4 -6
  16. data/lib/webauthn/configuration.rb +2 -0
  17. data/lib/webauthn/credential.rb +0 -1
  18. data/lib/webauthn/encoder.rb +5 -33
  19. data/lib/webauthn/encoders.rb +62 -0
  20. data/lib/webauthn/fake_authenticator/attestation_object.rb +10 -1
  21. data/lib/webauthn/fake_authenticator/authenticator_data.rb +3 -1
  22. data/lib/webauthn/fake_authenticator.rb +25 -4
  23. data/lib/webauthn/fake_client.rb +6 -1
  24. data/lib/webauthn/json_serializer.rb +45 -0
  25. data/lib/webauthn/public_key_credential/entity.rb +2 -24
  26. data/lib/webauthn/public_key_credential/options.rb +2 -24
  27. data/lib/webauthn/public_key_credential.rb +17 -2
  28. data/lib/webauthn/public_key_credential_with_assertion.rb +2 -1
  29. data/lib/webauthn/public_key_credential_with_attestation.rb +2 -2
  30. data/lib/webauthn/relying_party.rb +24 -7
  31. data/lib/webauthn/u2f_migrator.rb +5 -3
  32. data/lib/webauthn/version.rb +1 -1
  33. data/lib/webauthn.rb +1 -0
  34. data/webauthn.gemspec +5 -6
  35. metadata +26 -29
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webauthn
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gonzalo Rodriguez
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-02-15 00:00:00.000000000 Z
12
+ date: 2025-09-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: android_key_attestation
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: 0.3.0
28
- - !ruby/object:Gem::Dependency
29
- name: awrence
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: '1.1'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '1.1'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: bindata
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -101,28 +87,28 @@ dependencies:
101
87
  requirements:
102
88
  - - "~>"
103
89
  - !ruby/object:Gem::Version
104
- version: 0.4.0
90
+ version: 0.5.0
105
91
  type: :runtime
106
92
  prerelease: false
107
93
  version_requirements: !ruby/object:Gem::Requirement
108
94
  requirements:
109
95
  - - "~>"
110
96
  - !ruby/object:Gem::Version
111
- version: 0.4.0
97
+ version: 0.5.0
112
98
  - !ruby/object:Gem::Dependency
113
99
  name: tpm-key_attestation
114
100
  requirement: !ruby/object:Gem::Requirement
115
101
  requirements:
116
102
  - - "~>"
117
103
  - !ruby/object:Gem::Version
118
- version: 0.12.0
104
+ version: 0.14.0
119
105
  type: :runtime
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
108
  requirements:
123
109
  - - "~>"
124
110
  - !ruby/object:Gem::Version
125
- version: 0.12.0
111
+ version: 0.14.0
126
112
  - !ruby/object:Gem::Dependency
127
113
  name: bundler
128
114
  requirement: !ruby/object:Gem::Requirement
@@ -191,42 +177,48 @@ dependencies:
191
177
  requirements:
192
178
  - - "~>"
193
179
  - !ruby/object:Gem::Version
194
- version: 1.9.1
180
+ version: '1'
195
181
  type: :development
196
182
  prerelease: false
197
183
  version_requirements: !ruby/object:Gem::Requirement
198
184
  requirements:
199
185
  - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: 1.9.1
187
+ version: '1'
202
188
  - !ruby/object:Gem::Dependency
203
189
  name: rubocop-rake
204
190
  requirement: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: 0.5.1
194
+ version: '0.5'
209
195
  type: :development
210
196
  prerelease: false
211
197
  version_requirements: !ruby/object:Gem::Requirement
212
198
  requirements:
213
199
  - - "~>"
214
200
  - !ruby/object:Gem::Version
215
- version: 0.5.1
201
+ version: '0.5'
216
202
  - !ruby/object:Gem::Dependency
217
203
  name: rubocop-rspec
218
204
  requirement: !ruby/object:Gem::Requirement
219
205
  requirements:
220
- - - "~>"
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '2.2'
209
+ - - "<"
221
210
  - !ruby/object:Gem::Version
222
- version: 2.2.0
211
+ version: '4.0'
223
212
  type: :development
224
213
  prerelease: false
225
214
  version_requirements: !ruby/object:Gem::Requirement
226
215
  requirements:
227
- - - "~>"
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: '2.2'
219
+ - - "<"
228
220
  - !ruby/object:Gem::Version
229
- version: 2.2.0
221
+ version: '4.0'
230
222
  description: |-
231
223
  WebAuthn ruby server library ― Make your application a W3C Web Authentication conformant
232
224
  Relying Party and allow your users to authenticate with U2F and FIDO2 authenticators.
@@ -237,6 +229,9 @@ executables: []
237
229
  extensions: []
238
230
  extra_rdoc_files: []
239
231
  files:
232
+ - ".github/actions/install-openssl/action.yml"
233
+ - ".github/actions/install-ruby/action.yml"
234
+ - ".github/dependabot.yml"
240
235
  - ".github/workflows/build.yml"
241
236
  - ".github/workflows/git.yml"
242
237
  - ".gitignore"
@@ -281,11 +276,13 @@ files:
281
276
  - lib/webauthn/credential_rp_entity.rb
282
277
  - lib/webauthn/credential_user_entity.rb
283
278
  - lib/webauthn/encoder.rb
279
+ - lib/webauthn/encoders.rb
284
280
  - lib/webauthn/error.rb
285
281
  - lib/webauthn/fake_authenticator.rb
286
282
  - lib/webauthn/fake_authenticator/attestation_object.rb
287
283
  - lib/webauthn/fake_authenticator/authenticator_data.rb
288
284
  - lib/webauthn/fake_client.rb
285
+ - lib/webauthn/json_serializer.rb
289
286
  - lib/webauthn/public_key.rb
290
287
  - lib/webauthn/public_key_credential.rb
291
288
  - lib/webauthn/public_key_credential/creation_options.rb
@@ -322,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
319
  - !ruby/object:Gem::Version
323
320
  version: '0'
324
321
  requirements: []
325
- rubygems_version: 3.2.32
322
+ rubygems_version: 3.2.1
326
323
  signing_key:
327
324
  specification_version: 4
328
325
  summary: WebAuthn ruby server library