fix(deps): update dependency @simplewebauthn/server to v13#862
fix(deps): update dependency @simplewebauthn/server to v13#862renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
6248df5 to
80cd23e
Compare
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
^7.0.1->^13.0.0Release Notes
MasterKale/SimpleWebAuthn (@simplewebauthn/server)
v13.2.2Compare Source
Changes
increased software supply chain transparency, both
libraries are now published via GitHub Actions workflows. Package listings on
JSR and
NPM feature build transparency logs at the
bottom of their respective pages (#725,
#726,
#727)
v13.2.1Compare Source
Changes:
generateRegistrationOptions()will now correctly encoded theuserIDargument tobase64url when it is an instance of Node's
Buffer(#724)
v13.2.0Compare Source
Changes
verifyRegistrationResponse()has been defined more strictlyto communicate that
registrationInfowill only ever be present ifverifiedistrue(#715)
verifyRegistrationResponse()can now verify attestations containing SHA256 hashesby using EC public keys with the P-384 curve
(#721)
by setting
attestationSafetyNetEnforceCTSCheck: falsewhen callingverifyRegistrationResponse(). This check remains enforced by default(#722)
generic typing for
Uint8Arrayvia TypeScript 5.7.SimpleWebAuthn values of type
Uint8Array_are equivalent toUint8Arrayin Deno 2.1 andearlier, and
Uint8Array<ArrayBuffer>in Deno 2.2 and later.(#717)
v13.1.2Compare Source
Changes
ResidentKeyRequirementtype to help with type inference(#704)
v13.1.1Compare Source
Changes:
"android-key"attestation statement verification has been modernized(#675)
"tpm"attestation statements(#673)
v13.1.0Compare Source
Changes:
cross-fetchdependency has been removed from the project to silence in theconsole
DeprecationWarning's about a "punycode" module(#661)
startRegistration()andstartAuthentication()will now warn about calls madeusing the pre-v11 call structure to encourage refactoring to use the current call structure, but
still try to handle such calls the best they can
(#664)
v13.0.0Compare Source
Hot on the heels of the last major release, v13 introduces support for registration hints! Refined
types and improved attestation trust anchor verification are also included. Last but not least, we
say goodbye to one of the project's packages for better docs and fewer dependencies to install. Read
on for more information, including refactor advice for dealing with the retirement of
@simplewebauthn/types.
Changes:
preferredAuthenticatorTypeargument can be set when callinggenerateRegistrationOptions()to generate options that encourage the browser to direct the userto register one of three types of authenticators:
'securityKey','localDevice', or'remoteDevice'(a.k.a. opinionatedWebAuthn hints
support) (#653)
startRegistration()will recognizehintsif specified inoptionsJSON(#652)
(#650)
within the browser and server packages. See Breaking Changes below for more info
(#655)
Breaking Changes
@typescript/types is being retired
Its types will now be included directly in @simplewebauthn/browser and
@simplewebauthn/server.
To refactor existing imports from /types, simply import them from /browser or /server
instead:
Before:
After:
[server]
attestationTypeno longer accepts'indirect'The benefits of indirect attestation are too minimal to be useful for Relying Parties. In practice
it is almost never used over ignoring the concept completely with
'none'or needing to beintentional and setting
'direct'.RP's that have been specifying
attestationType: 'indirect'when callinggenerateRegistrationOptions()will need to refactor their code to either omitattestationType(generateRegistrationOptions()will default toattestationType: 'none') or setattestationType: 'direct'instead:Before:
After:
-or-
v12.0.0Compare Source
All SimpleWebAuthn packages are now available for installation from the
JavaScript Registry (JSR)! JSR is an "open-source package registry
for modern JavaScript and TypeScript" - you can read more about this new package registry and its
ESM-centric capabilities here.
All packages in v12.0.0 are functionally identical to v11.0.0! And JSR package hosting is in
addition to existing package hosting on NPM. Nothing changes about package installation via
npm install. Read on for more information.Packages
Changes
imports are supported (#634)
@simplewebauthn/browser (#634)
To install from JSR, use
npx jsr add @​simplewebauthn/...ordeno add jsr:@​simplewebauthn/...depending on which package manager is available.
Projects using
npmfor package management:Projects using
denofor package management:Projects using HTTPS modules via deno.land/x:
v12.0.0 officially deprecates importing SimpleWebAuthn from deno.land/x. See Breaking Changes
below for refactor guidance.
Breaking Changes
Importing SimpleWebAuthn packages from
"https://deno.land/x/simplewebauthn/..."URLs is no longersupported. Please use Deno's native support for JSR imports instead, available in projects running
Deno v1.42 and higher.
Before:
After:
Alternatively, use
deno addto install these packages fromJSR:
v11.0.0Compare Source
Say hello to support for automatic passkey registration, support for valid conditional UI
<input>elements stashed away in web components, and to the new
WebAuthnCredentialtype that modernizessome logic within.
There are some breaking changes in this release! Please see Breaking Changes below for refactor
guidance.
Packages
Changes
useAutoRegisterargument has been added tostartRegistration()tosupport attempts to automatically register passkeys for users who just completed non-passkey auth.
verifyRegistrationResponse()has gained a newrequireUserPresenceoption that can be set tofalsewhen verifying responses fromstartRegistration({ useAutoRegister: true, ... })(#623)
verifyBrowserAutofillInputargument has been added tostartAuthentication()to disable throwing an error when a correctly configured<input>elementcannot be found (but perhaps a valid one is present in a web component shadow's DOM)
(#621)
AuthenticatorDevicetype has been renamed toWebAuthnCredentialandhas had its properties renamed. The return value out of
verifyRegistrationResponse()andcorresponding inputs into
verifyAuthenticationResponse()have been updated accordingly. SeeBreaking Changes below for refactor guidance
(#625)
verifyRegistrationResponse()now verifies that the authenticator data AAGUIDmatches the leaf cert's
id-fido-gen-ce-aaguidextension AAGUID when it is present(#609)
IBM (#610)
uvmanddpkhave been removed(#611)
Breaking Changes
[browser] Positional arguments in
startRegistration()andstartAuthentication()have been replaced by a single objectProperty names in the object match the names of the previously-positional arguments. To update
existing implementations, wrap existing options in an object with corresponding properties:
Before:
After:
[server] [types] The
AuthenticatorDevicetype has been renamed toWebAuthnCredentialAuthenticatorDevice.credentialIDandAuthenticatorDevice.credentialPublicKeyhave been shortenedto
WebAuthnCredential.idandWebAuthnCredential.publicKeyrespectively.verifyRegistrationResponse()has been updated accordingly to return a newcredentialvalue oftype
WebAuthnCredential. Update code that storescredentialID,credentialPublicKey, andcounterout ofverifyRegistrationResponse()to storecredential.id,credential.publicKey,and
credential.counterinstead:Before:
After:
Update calls to
verifyAuthenticationResponse()to match the newcredentialargument thatreplaces the
authenticatorargument:Before:
After:
v10.0.1Compare Source
Packages
Changes
isoCrypto.verify()now has better support for signature verification with ECCpublic keys using P-256, P-385, and P-521 curves
(#594, with thanks to @nlordell)
v10.0.0Compare Source
Thanks for everything, Node 16 and Node 18, but it's time to move on! The headlining change of this
release is the targeting of Node LTS v20+ as the minimum Node runtime. Additional developer-centric
quality-of-life changes have also been made in the name of streamlining use of SimpleWebAuthn on
both the back end and front end.
This release is packed with updates, so buckle up! Refactor advice for breaking changes is, as
always, offered below.
Packages
Changes
(#531)
user.displayNamenow defaults to an empty string if a value is not specified foruserDisplayNamewhen callinggenerateRegistrationOptions()(#538)
browserSupportsWebAuthnAutofill()helper will no longer break in environmentsin which
PublicKeyCredentialis not present(#557, with thanks to @clarafitzgerald)
Breaking Changes
#529:
generateRegistrationOptions()now expectsBase64URLStringfor excluded credential IDsgenerateAuthenticationOptions()now expectsBase64URLStringfor allowed credential IDscredentialIDreturned from response verification methods is now aBase64URLStringAuthenticatorDevice.credentialIDis now aBase64URLStringisoBase64URL.isBase64url()is now calledisoBase64URL.isBase64URL()#552:
generateRegistrationOptions()now accepts an optionalUint8Arrayinstead of astringforuserIDisoBase64URL.toString()andisoBase64URL.fromString()have been renamedgenerateRegistrationOptions()will now generate random user IDsuser.idis now treated like a base64url string instartRegistration()userHandleis now treated like a base64url string instartAuthentication()rpIDis now a required argument when callinggenerateAuthenticationOptions()(#555)
[server]
generateRegistrationOptions()now expectsBase64URLStringfor excluded credential IDsThe
isoBase64URLhelper can be used to massageUint8Arraycredential IDs into base64url strings:Before
After
The
typeargument is no longer needed either.[server]
generateAuthenticationOptions()now expectsBase64URLStringfor allowed credential IDsSimilarly, the
isoBase64URLhelper can also be used during auth to massageUint8ArraycredentialIDs into base64url strings:
Before
After
The
typeargument is no longer needed either.[server]
credentialIDreturned from response verification methods is now aBase64URLStringIt is no longer necessary to manually stringify
credentialIDout of response verification methods:Before
After
[server]
AuthenticatorDevice.credentialIDis now aBase64URLStringCalls to
verifyAuthenticationResponse()will need to be updated to encode the credential ID to abase64url string:
Before
After
[server]
isoBase64URL.isBase64url()is now calledisoBase64URL.isBase64URL()Note the capitalization change from "url" to "URL" in the method name. Update calls to this method
accordingly.
[server]
generateRegistrationOptions()will now generate random user IDs[browser]
user.idis now treated like a base64url string instartRegistration()[browser]
userHandleis now treated like a base64url string instartAuthentication()A random identifier will now be generated when a value is not provided for the now-optional
userIDargument when calling
generateRegistrationOptions(). This identifier will be base64url-encodedstring of 32 random bytes. RPs that wish to take advantage of this can simply omit this
argument.
Additionally,
startRegistration()will base64url-decodeuser.idbefore calling WebAuthn. Duringauth
startAuthentication()will base64url-encodeuserHandlein the returned credential. Thisshould be a transparent change for RP's that simply feed @simplewebauthn/server options output
into the corresponding @simplewebauthn/browser methods.
However, RP's that wish to continue generating their own user identifiers will need to take
additional steps to ensure they get back user IDs in the expected format after authentication.
Before (SimpleWebAuthn v9)
After (SimpleWebAuthn v10)
[server]
isoBase64URL.toString()andisoBase64URL.fromString()have been renamedThe method names have been updated to reflect the use of UTF-8 string encoding:
Before:
After:
[server]
rpIDis now a required argument when callinggenerateAuthenticationOptions()Update calls to this method to specify the same
rpIDas passed intogenerateRegistrationOptions():Before
After
v9.0.3Compare Source
Packages
Changes
"Cannot find module 'cbor-x/index-no-eval' or its corresponding type declarations"build errorswhen transpiling TypeScript projects using @simplewebauthn/server
(#521)
v9.0.2Compare Source
Packages
Changes
(#518, with thanks to @balazsorban44)
v9.0.1Compare Source
Packages
Changes
of
eval()(#511, with thanks to@Maronato)
v9.0.0Compare Source
Packages
Changes
@simplewebauthn/typescript-typespackage has been renamed to@simplewebauthn/types(#508)Breaking Changes
@simplwebauthn/typescript-typeswill need to be replaced with the new packagename
@simplewebauthn/types:Before:
After:
v8.3.7Compare Source
Packages
Changes
WebAuthnErrorclass can now be imported from@simplewebauthn/browserforsimpler error detection and handling when calling
startRegistration()andstartAuthentication()(#505, withthanks to @zoontek)
COSEPublicKeyEC2,COSEPublicKeyOKP, andCOSEPublicKeyRSAtypes can now beimported from
@simplwebauthn/server/helpersto help type possible return values fromdecodeCredentialPublicKey()(#504, withthanks to @mmv08)
generateRegistrationOptions()will now betreated as UTF-8 strings to align with the existing behavior of
generateAuthenticationOptions()(#507)
v8.3.6Compare Source
Packages
Changes
verifyAuthenticationResponse()(#499)v8.3.5Compare Source
Packages
Changes
(#472)
v8.3.4Compare Source
Packages
Changes
globalThis.cryptofirst before trying to importNode's
node:cryptoas a fallback (#468)v8.3.3Compare Source
Packages
Changes
deno vendorwill no longer error out because typescript-types/src/dom.tsis missing (#466)
temporarily fixed when handling security key responses from Firefox
(#465)
v8.3.2Compare Source
Packages
Changes
streamAPIfor better Web API environment compatibility
(#455, with thanks to @Maronato)
v8.2.0Compare Source
Packages
Changes
startRegistration()will no longer error out on registration responses generatedby the 1Password browser extension (#443,
with thanks to @unix)
base64URLStringToBuffer()andbufferToBase64URLString()are nowexported from
@simplewebauthn/browser(#444)
verifyRegistrationResponse()andverifyAuthenticationResponse()now accept a newexpectedTypeargument that can be used to, for example, verify Secure Payment Confirmationresponses (#436, with thanks to
@fabiancook)
longer raise an error (#441)
v8.1.1Compare Source
Packages
Changes
MetadataServicehas been disabled(#434)
v8.1.0Compare Source
Packages
Changes
expectedChallengeargument forverifyRegistrationResponse()andverifyAuthenticationResponse()methods now also accept asynchronous methods(#432, with thanks to @jordanbtucker)
v8.0.1Compare Source
Packages
Changes
"type": "module"in their package.json will no longer errorout when trying to use methods that leverage the Crypto APIs
(#428)
v8.0.0Compare Source
This major release marks the completion of a long journey that started with the release of v7.0.0:
SimpleWebAuthn is now available for use in non-Node projects! 🎉
SimpleWebAuthn debuted in mid-2020 as a combination of libraries aiming to make WebAuthn simpler to
use across browsers and "NodeJS + CommonJS" applications. Since then NodeJS has evolved to gain ESM
support, and additional JavaScript and TypeScript runtimes have debuted that offer ESM-centric,
TypeScript-first alternatives while also implementing Web APIs to offer a more consistent and
capable execution environment for developers.
I've wanted to make this project available to developers using these Node alternatives to help them
get past some of WebAuthn's rough spots. Today I'm happy to announce that this goal has been
achieved! 😌
See the Changes below for more information, as well as additional information on breaking
changes made in this release.
Packages
Changes
Deno is now a first-class runtime for this project alongside Node
(#425)
Breaking Changes
generateRegistrationOptions()andgenerateAuthenticationOptions()are nowasynchronous methods. Refactor calls to these methods to handle the
Promisethat's now returnedin whatever way is appropriate for your project.
generateChallenge()(in@simplewebauthn/server/helpers) is now an asynchronousmethod. Refactor calls to this method to handle the
Promisethat's now returned in whatever wayis appropriate for your project.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.