1
0
Fork 0
firefox/testing/web-platform/tests/webauthn/idlharness-manual.https.window.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

53 lines
1.3 KiB
JavaScript

// META: timeout=long
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// META: script=helpers.js
// https://w3c.github.io/webauthn/
'use strict';
idl_test(
['webauthn'],
['credential-management'],
async idlArray => {
idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
idlArray.add_objects({
PublicKeyCredential: ['cred', 'assertion'],
AuthenticatorAttestationResponse: ['cred.response'],
AuthenticatorAssertionResponse: ['assertion.response']
});
const challengeBytes = new Uint8Array(16);
window.crypto.getRandomValues(challengeBytes);
self.cred = await Promise.race([
new Promise((_, reject) => window.setTimeout(() => {
reject('Timed out waiting for user to touch security key')
}, 3000)),
createCredential({
options: {
publicKey: {
timeout: 3000,
user: {
id: new Uint8Array(16),
},
}
}
}),
]);
self.assertion = await navigator.credentials.get({
publicKey: {
timeout: 3000,
allowCredentials: [{
id: cred.rawId,
transports: ["usb", "nfc", "ble"],
type: "public-key"
}],
challenge: challengeBytes,
}
});
}
);