Skip to content

Commit c0145d9

Browse files
committed
Merge branch 'release-2.5'
2 parents 1359dd9 + 821e211 commit c0145d9

File tree

5 files changed

+29
-3
lines changed

5 files changed

+29
-3
lines changed

.github/workflows/release-verify-signatures.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
strategy:
4141
matrix:
42-
java: ["17.0.7"]
42+
java: ["17.0.10"]
4343
distribution: [temurin, zulu, microsoft]
4444

4545
steps:

NEWS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ New features:
5353
version increase.
5454

5555

56+
== Version 2.5.2 (unreleased) ==
57+
58+
Fixes:
59+
60+
* Allow unknown properties in `credProps` client extension output.
61+
62+
5663
== Version 2.5.1 ==
5764

5865
Changes:

webauthn-server-core/src/main/java/com/yubico/webauthn/data/ExtensionOutputs.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,15 @@
44
import java.util.Set;
55

66
public interface ExtensionOutputs {
7-
/** Returns a {@link Set} of the extension IDs for which an extension output is present. */
7+
/**
8+
* Returns a {@link Set} of recognized extension IDs for which an extension output is present.
9+
*
10+
* <p>This only includes extension identifiers recognized by the java-webauthn-server library.
11+
* Recognized extensions can be found as the properties of {@link
12+
* ClientRegistrationExtensionOutputs} for registration ceremonies, and {@link
13+
* ClientAssertionExtensionOutputs} for authentication ceremonies. Unknown extension identifiers
14+
* are silently ignored.
15+
*/
816
@JsonIgnore
917
Set<String> getExtensionIds();
1018
}

webauthn-server-core/src/main/java/com/yubico/webauthn/data/Extensions.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.yubico.webauthn.data;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonProperty;
56
import com.fasterxml.jackson.annotation.JsonValue;
67
import com.upokecenter.cbor.CBORObject;
@@ -65,6 +66,7 @@ public static class CredentialProperties {
6566
*/
6667
@Value
6768
@Builder
69+
@JsonIgnoreProperties(ignoreUnknown = true)
6870
public static class CredentialPropertiesOutput {
6971
@JsonProperty("rk")
7072
private final Boolean rk;

webauthn-server-core/src/test/scala/com/yubico/webauthn/RelyingPartyRegistrationSpec.scala

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,12 +263,21 @@ class RelyingPartyRegistrationSpec
263263
},
264264
"clientExtensionResults": {
265265
"appidExclude": true,
266-
"org.example.foo": "bar"
266+
"org.example.foo": "bar",
267+
"credProps": {
268+
"rk": false,
269+
"authenticatorDisplayName": "My passkey",
270+
"unknownProperty": ["unknown-value"]
271+
}
267272
}
268273
}""")
269274
pkc.getClientExtensionResults.getExtensionIds should contain(
270275
"appidExclude"
271276
)
277+
pkc.getClientExtensionResults.getExtensionIds should contain(
278+
"credProps"
279+
)
280+
pkc.getClientExtensionResults.getExtensionIds should not contain ("org.example.foo")
272281
}
273282
}
274283

0 commit comments

Comments
 (0)