| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <meta name="timeout" content="long"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/testdriver.js"></script> | |
| <script src="/resources/testdriver-vendor.js"></script> | |
| <script src=helpers.js></script> | |
| <body></body> | |
| <script> | |
| "use strict"; | |
| // usb transport | |
| virtualAuthenticatorPromiseTest(async function() { | |
| const assertion = await navigator.credentials.get({publicKey: { | |
| challenge: new Uint8Array(), | |
| allowCredentials: [{ | |
| id: (await createCredential()).rawId, | |
| type: "public-key", | |
| }], | |
| }}); | |
| assert_equals(assertion.authenticatorAttachment, "cross-platform"); | |
| }, { | |
| protocol: "ctap2", | |
| transport: "usb" | |
| }, "navigator.credentials.get() with usb authenticator, attachment as cross-platform"); | |
| // ble transport | |
| virtualAuthenticatorPromiseTest(async function() { | |
| const assertion = await navigator.credentials.get({publicKey: { | |
| challenge: new Uint8Array(), | |
| allowCredentials: [{ | |
| id: (await createCredential()).rawId, | |
| type: "public-key", | |
| }], | |
| }}); | |
| assert_equals(assertion.authenticatorAttachment, "cross-platform"); | |
| }, { | |
| protocol: "ctap2", | |
| transport: "ble" | |
| }, "navigator.credentials.get() with ble authenticator, attachment as cross-platform"); | |
| // nfc transport | |
| virtualAuthenticatorPromiseTest(async function() { | |
| const assertion = await navigator.credentials.get({publicKey: { | |
| challenge: new Uint8Array(), | |
| allowCredentials: [{ | |
| id: (await createCredential()).rawId, | |
| type: "public-key", | |
| }], | |
| }}); | |
| assert_equals(assertion.authenticatorAttachment, "cross-platform"); | |
| }, { | |
| protocol: "ctap2", | |
| transport: "nfc" | |
| }, "navigator.credentials.get() with nfc authenticator, attachment as cross-platform"); | |
| // internal transport | |
| virtualAuthenticatorPromiseTest(async function() { | |
| const assertion = await navigator.credentials.get({publicKey: { | |
| challenge: new Uint8Array(), | |
| allowCredentials: [{ | |
| id: (await createCredential()).rawId, | |
| type: "public-key", | |
| }], | |
| }}); | |
| assert_equals(assertion.authenticatorAttachment, "platform"); | |
| }, { | |
| protocol: "ctap2", | |
| transport: "internal" | |
| }, "navigator.credentials.get() with internal authenticator, attachment as platform"); | |
| </script> |