summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-12-22 08:04:12 -0800
committerMatthew Miller <matthew@millerti.me>2020-12-22 08:04:12 -0800
commit5f4d3485d0cbe286a3fa439ed8519f951d37f63b (patch)
treea5696387da1593c78591bcd4f17c43ff3aae01c6
parent713db8fee857d5a089c350640bf55afa84007a97 (diff)
Handle requireResidentKey nuance
-rw-r--r--packages/server/src/attestation/generateAttestationOptions.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/server/src/attestation/generateAttestationOptions.ts b/packages/server/src/attestation/generateAttestationOptions.ts
index e1fc70e..2c0f85b 100644
--- a/packages/server/src/attestation/generateAttestationOptions.ts
+++ b/packages/server/src/attestation/generateAttestationOptions.ts
@@ -119,6 +119,18 @@ export default function generateAttestationOptions(
type: 'public-key',
}));
+ /**
+ * "Relying Parties SHOULD set [requireResidentKey] to true if, and only if, residentKey is set
+ * to "required""
+ *
+ * See https://www.w3.org/TR/webauthn-2/#dom-authenticatorselectioncriteria-requireresidentkey
+ */
+ if (authenticatorSelection.residentKey === 'required') {
+ authenticatorSelection.requireResidentKey = true;
+ } else {
+ authenticatorSelection.requireResidentKey = false;
+ }
+
return {
challenge: base64url.encode(challenge),
rp: {