Packages:
- @simplewebauthn/browser@0.10.0
- @simplewebauthn/server@0.10.0
- @simplewebauthn/typescript-types@0.10.0
Changes:
- [server] Add support for "apple" attestations to support iOS Face ID and Touch ID
- [server] [browser] Enable specifying transports per credential for
allowCredentialsandexcludeCredentials - [browser] Return authenticator's transports (when available) as
transportsin response fromstartAttestation() - [typescript-types] Add new
AuthenticatorAttestationResponseFuturetype for better typing of credential response methods (getTransports(),getAuthenticatorData(), etc...)
Breaking Changes
- [server] Existing implementations of
generateAttestationOptions()andgenerateAssertionOptions()must be updated to specify credentials with their own transports:
generateAttestationOptions()
// OLD
const options = generateAttestationOptions({
excludedCredentialIDs: devices.map(dev => dev.credentialID),
suggestedTransports: ['usb', 'ble', 'nfc', 'internal'],
});
// NEW
const options = generateAttestationOptions({
excludeCredentials: devices.map(dev => ({
id: dev.credentialID,
type: 'public-key',
transports: dev.transports,
})),
});generateAssertionOptions()
// OLD
const options = generateAssertionOptions({
allowedCredentialIDs: user.devices.map(dev => dev.credentialID),
suggestedTransports: ['usb', 'ble', 'nfc', 'internal'],
});
// NEW
const options = generateAssertionOptions({
allowCredentials: devices.map(dev => ({
id: dev.credentialID,
type: 'public-key',
transports: dev.transports,
})),
});