summaryrefslogtreecommitdiffhomepage
path: root/packages/browser/src/methods
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2022-09-28 21:14:32 -0700
committerGitHub <noreply@github.com>2022-09-28 21:14:32 -0700
commit8b75f0836e39df29b8593f96fb806608c2a81196 (patch)
treeba1d6e1346ba40cddc35f5a9c2f3ca68358eecc2 /packages/browser/src/methods
parente64b50cc84d49478d49e0a394511963d0110277b (diff)
parent4ea0bd370609294e3cf70f467d234093fc6e87fb (diff)
Merge pull request #275 from MasterKale/fix/webauthn-abort-controller-race-condition
fix/webauthn-abort-controller-race-condition
Diffstat (limited to 'packages/browser/src/methods')
-rw-r--r--packages/browser/src/methods/startAuthentication.test.ts6
-rw-r--r--packages/browser/src/methods/startAuthentication.ts2
-rw-r--r--packages/browser/src/methods/startRegistration.test.ts6
-rw-r--r--packages/browser/src/methods/startRegistration.ts2
4 files changed, 8 insertions, 8 deletions
diff --git a/packages/browser/src/methods/startAuthentication.test.ts b/packages/browser/src/methods/startAuthentication.test.ts
index 1936a9e..e112124 100644
--- a/packages/browser/src/methods/startAuthentication.test.ts
+++ b/packages/browser/src/methods/startAuthentication.test.ts
@@ -60,6 +60,10 @@ beforeEach(() => {
mockSupportsWebAuthn.mockReturnValue(true);
mockSupportsAutofill.mockResolvedValue(true);
+
+ // Reset the abort service so we get an accurate call count
+ // @ts-ignore
+ webauthnAbortService.controller = undefined;
});
afterEach(() => {
@@ -228,8 +232,6 @@ test('should support "cable" transport', async () => {
test('should cancel an existing call when executed again', async () => {
const abortSpy = jest.spyOn(AbortController.prototype, 'abort');
- // Reset the abort service so we get an accurate call count
- webauthnAbortService.reset();
// Fire off a request and immediately attempt a second one
startAuthentication(goodOpts1);
diff --git a/packages/browser/src/methods/startAuthentication.ts b/packages/browser/src/methods/startAuthentication.ts
index 4cbe688..761a96c 100644
--- a/packages/browser/src/methods/startAuthentication.ts
+++ b/packages/browser/src/methods/startAuthentication.ts
@@ -80,8 +80,6 @@ export async function startAuthentication(
credential = (await navigator.credentials.get(options)) as AuthenticationCredential;
} catch (err) {
throw identifyAuthenticationError({ error: err as Error, options });
- } finally {
- webauthnAbortService.reset();
}
if (!credential) {
diff --git a/packages/browser/src/methods/startRegistration.test.ts b/packages/browser/src/methods/startRegistration.test.ts
index 9a7196b..2dc11be 100644
--- a/packages/browser/src/methods/startRegistration.test.ts
+++ b/packages/browser/src/methods/startRegistration.test.ts
@@ -59,6 +59,10 @@ beforeEach(() => {
});
mockSupportsWebauthn.mockReturnValue(true);
+
+ // Reset the abort service so we get an accurate call count
+ // @ts-ignore
+ webauthnAbortService.controller = undefined;
});
afterEach(() => {
@@ -215,8 +219,6 @@ test('should return "cable" transport from response', async () => {
test('should cancel an existing call when executed again', async () => {
const abortSpy = jest.spyOn(AbortController.prototype, 'abort');
- // Reset the abort service so we get an accurate call count
- webauthnAbortService.reset();
// Fire off a request and immediately attempt a second one
startRegistration(goodOpts1);
diff --git a/packages/browser/src/methods/startRegistration.ts b/packages/browser/src/methods/startRegistration.ts
index e103c11..bc30707 100644
--- a/packages/browser/src/methods/startRegistration.ts
+++ b/packages/browser/src/methods/startRegistration.ts
@@ -46,8 +46,6 @@ export async function startRegistration(
credential = (await navigator.credentials.create(options)) as RegistrationCredential;
} catch (err) {
throw identifyRegistrationError({ error: err as Error, options });
- } finally {
- webauthnAbortService.reset();
}
if (!credential) {