getTransports()
is a method of the AuthenticatorAttestationResponse
interface that returns an Array
containing strings describing the different transports which may be used by the authenticator.
Such transports may be USB, NFC, BLE or internal (applicable when the authenticator is not removable from the device).
Note: This method may only be used in top-level contexts and will not be available in an <iframe>
for example.
An Array
containing the different transports supported by the authenticator or nothing if this information is not available. The elements of this array are supposed to be in lexicographical order. Their values may be :
-
"usb"
: the authenticator can be contacted via a removable USB link -
"nfc"
: the authenticator may be used over NFC (Near Field Communication)
-
"ble"
: the authenticator may be used over BLE (Bluetooth Low Energy)
-
"internal"
: the authenticator is specifically bound to the client device (cannot be removed).
const publicKey = {
challenge: new Uint8Array([
21, 31, 105 ,
]),
rp: {
name: "Example CORP",
id: "login.example.com",
},
user: {
id: new Uint8Array(16),
name: "[email protected]",
displayName: "John Doe",
},
pubKeyCredParams: [
{
type: "public-key",
alg: -7,
},
],
};
navigator.credentials
.create({ publicKey })
.then((newCredentialInfo) => {
const transports = newCredentialInfo.response.getTransports();
console.table(transports);
})
.catch((err) => console.error(err));