summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts6
-rw-r--r--packages/server/src/attestation/verifications/verifyFIDOU2F.ts4
-rw-r--r--packages/server/src/attestation/verifications/verifyNone.ts9
-rw-r--r--packages/server/src/attestation/verifications/verifyPacked.ts4
4 files changed, 15 insertions, 8 deletions
diff --git a/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts b/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts
index 6f5365a..da69603 100644
--- a/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts
+++ b/packages/server/src/attestation/verifications/verifyAndroidSafetyNet.ts
@@ -110,7 +110,9 @@ export default function verifyAttestationAndroidSafetyNet(
const authDataStruct = parseAttestationAuthData(authData);
const { counter, credentialID, COSEPublicKey, flags } = authDataStruct;
- toReturn.userVerified = flags.uv;
+ if (!flags.up) {
+ throw new Error('User was not present for attestation (None)');
+ }
if (!COSEPublicKey) {
throw new Error('No public key was provided by authenticator (SafetyNet)');
@@ -120,6 +122,8 @@ export default function verifyAttestationAndroidSafetyNet(
throw new Error('No credential ID was provided by authenticator (SafetyNet)');
}
+ toReturn.userVerified = flags.uv;
+
const publicKey = convertCOSEtoPKCS(COSEPublicKey);
toReturn.authenticatorInfo = {
diff --git a/packages/server/src/attestation/verifications/verifyFIDOU2F.ts b/packages/server/src/attestation/verifications/verifyFIDOU2F.ts
index 75e664f..a509d5d 100644
--- a/packages/server/src/attestation/verifications/verifyFIDOU2F.ts
+++ b/packages/server/src/attestation/verifications/verifyFIDOU2F.ts
@@ -1,5 +1,5 @@
import base64url from 'base64url';
-import { AttestationObject, VerifiedAttestation, U2F_USER_PRESENTED } from '@webauthntine/typescript-types';
+import { AttestationObject, VerifiedAttestation } from '@webauthntine/typescript-types';
import toHash from '@helpers/toHash';
import convertCOSEtoPKCS from '@helpers/convertCOSEtoPKCS';
@@ -27,7 +27,7 @@ export default function verifyAttestationFIDOU2F(
counter,
} = authDataStruct;
- if (!(flags.flagsInt & U2F_USER_PRESENTED)) {
+ if (!(flags.up)) {
throw new Error('User was NOT present during authentication (FIDOU2F)');
}
diff --git a/packages/server/src/attestation/verifications/verifyNone.ts b/packages/server/src/attestation/verifications/verifyNone.ts
index 4f967d1..d6d20d0 100644
--- a/packages/server/src/attestation/verifications/verifyNone.ts
+++ b/packages/server/src/attestation/verifications/verifyNone.ts
@@ -24,6 +24,10 @@ export default function verifyAttestationNone(
flags,
} = authDataStruct;
+ if (!flags.up) {
+ throw new Error('User was not present for attestation (None)');
+ }
+
if (!COSEPublicKey) {
throw new Error('No public key was provided by authenticator (None)');
}
@@ -32,11 +36,6 @@ export default function verifyAttestationNone(
throw new Error('No credential ID was provided by authenticator (None)');
}
- // Make sure the (U)ser (P)resent for the attestation
- if (!flags.up) {
- throw new Error('User was not present for attestation (None)');
- }
-
const publicKey = convertCOSEtoPKCS(COSEPublicKey);
const toReturn: VerifiedAttestation = {
diff --git a/packages/server/src/attestation/verifications/verifyPacked.ts b/packages/server/src/attestation/verifications/verifyPacked.ts
index 98b4e66..497cfbe 100644
--- a/packages/server/src/attestation/verifications/verifyPacked.ts
+++ b/packages/server/src/attestation/verifications/verifyPacked.ts
@@ -26,6 +26,10 @@ export default function verifyAttestationPacked(attestationObject: AttestationOb
const { COSEPublicKey, counter, credentialID, flags } = authDataStruct;
+ if (!flags.up) {
+ throw new Error('User was not present for attestation (Packed)');
+ }
+
if (!COSEPublicKey) {
throw new Error('No public key was provided by authenticator (Packed)');
}