WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.
MIT License
Bot releases are visible (Hide)
Published by MasterKale about 4 years ago
Packages:
Changes:
authenticatorInfo.base64PublicKey
returned by verifyAttestationResponse()
is now the entire public key buffer instead of a pared down form of it (it's still returned base64url-encoded). This helps ensure support for existing public keys, as well as future public key formats that may be introduced in the future. Public keys previously returned by this method must be upgraded via this "upgrader" script to work with future assertions.
serviceName
argument for generateAttestationOptions()
has been renamed to rpName
. This brings it in line with the existing rpID
argument and maps more obviously to its respective property within the returned options.Packages:
Changes:
authenticatorSelection
in return value from generateAttestationOptions()
for enhanced device compatibility.Packages:
Changes:
supportedAlgorithmIDs
when calling generateAttestationOptions()
Published by MasterKale about 4 years ago
Packages:
Changes:
challenge
parameter of generateAttestationOptions()
and generateAssertionOptions()
is now optional.
startAttestation()
and startAssertion()
now convert the base64url-encoded options.challenge
to a buffer before passing it to the authenticator.verifyAttestationResponse()
and verifyAssertionResponse()
now require the base64url-encoded challenge to be passed in as expectedChallenge
:Before:
const challenge = 'someChallenge';
const opts = generateAttestationOptions({
...atteOpts,
challenge,
});
const verification = verifyAttestationResponse({
...atteResp,
// Raw original value
expectedChallenge: challenge,
});
After:
const challenge = 'someChallenge';
const opts = generateAttestationOptions({
...atteOpts,
// This is now optional
challenge,
});
const verification = verifyAttestationResponse({
...atteResp,
// Now expected to be the base64url-encoded `challenge` returned
// by `generateAttestationOptions()`
expectedChallenge: opts.challenge,
});
Packages:
Changes:
Packages:
Changes:
Packages:
Changes:
generateAttestationOptions()
and verifyAttestationResponse()
Published by MasterKale over 4 years ago
Packages:
Changes:
Published by MasterKale over 4 years ago
Packages:
Changes:
verifyAttestationResponse()
changed from boolean
to Promise<boolean>
. This was necessary to support querying FIDO MDS for an authenticator metadata statement during attestation verification.requireUserVerification
parameter of verifyAssertionResponse()
has been replaced with the new optional fidoUserVerification
parameter. This enables greater control over user verification when verifying assertions.Published by MasterKale over 4 years ago
verifyAttestationResponse()
and verifyAssertionResponse()
methods now take a single arguments object.requireUserVerification
argument.Published by MasterKale over 4 years ago
startAttestation()
and startAssertion()
to return more of the output from the navigator.credentials
callsbase64-js
dependency with internal functionalitygenerateAttestationOptions()
and generateAssertionOptions()
by renaming the excludedBase64CredentialIDs
and allowedBase64CredentialIDs
to excludedCredentialIDs
and allowedCredentialIDs
respectively