diff options
author | Matthew Miller <matthew@millerti.me> | 2020-07-08 21:41:29 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2020-07-08 21:41:29 -0700 |
commit | ed17b41ac8525aa06827ad404939274b350ad85b (patch) | |
tree | 76e3e58ae2dee9f825377de621bb27cf1f08811d /example/fido-conformance.js | |
parent | a8dab2d372f6bf324f49164aa4da104e2fe5d1bb (diff) |
Remember userVerification during assertion
Diffstat (limited to 'example/fido-conformance.js')
-rw-r--r-- | example/fido-conformance.js | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/example/fido-conformance.js b/example/fido-conformance.js index c3f05c1..592c7cf 100644 --- a/example/fido-conformance.js +++ b/example/fido-conformance.js @@ -44,6 +44,7 @@ const inMemoryUserDeviceDB = { // */ // ], // currentChallenge: undefined, + // currentAssertionUserVerification: undefined, // }, }; @@ -165,6 +166,7 @@ fidoComplianceRouter.post('/assertion/options', (req, res) => { const challenge = uuidv4(); user.currentChallenge = challenge; + user.currentAssertionUserVerification = userVerification; const opts = generateAssertionOptions({ challenge, @@ -185,12 +187,12 @@ fidoComplianceRouter.post('/assertion/result', (req, res) => { const { id } = body; const user = inMemoryUserDeviceDB[loggedInUsername]; + + // Pull up values specified when generation assertion options const expectedChallenge = user.currentChallenge; - const existingDevice = user.devices.find(device => device.credentialID === id); + const userVerification = user.currentAssertionUserVerification; - if (!existingDevice) { - throw new Error('Assertion device is not registered to user'); - } + const existingDevice = user.devices.find(device => device.credentialID === id); let verification; try { @@ -200,6 +202,7 @@ fidoComplianceRouter.post('/assertion/result', (req, res) => { expectedOrigin: origin, expectedRPID: rpID, authenticator: existingDevice, + fidoUserVerification: userVerification, }); } catch (error) { console.error(error.message); |