diff options
Diffstat (limited to 'packages/browser/src/helpers')
-rw-r--r-- | packages/browser/src/helpers/webAuthnError.ts | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/packages/browser/src/helpers/webAuthnError.ts b/packages/browser/src/helpers/webAuthnError.ts index aad98ff..135354a 100644 --- a/packages/browser/src/helpers/webAuthnError.ts +++ b/packages/browser/src/helpers/webAuthnError.ts @@ -17,14 +17,40 @@ * scenarios a given error would be raised. */ export class WebAuthnError extends Error { - constructor(message: string, cause: Error, name?: string) { + code: SimpleWebAuthnErrorCode; + + constructor({ + message, + code, + cause, + name, + }: { + message: string, + code: SimpleWebAuthnErrorCode, + cause: Error, + name?: string, + }) { /** * `cause` is supported in evergreen browsers, but not IE10, so this ts-ignore is to * help Rollup complete the ES5 build. */ // @ts-ignore super(message, { cause }) - // this.name = name ?? cause.name; this.name = name ?? cause.name; + this.code = code; } } + +export type SimpleWebAuthnErrorCode = + 'ERROR_CEREMONY_ABORTED' + | 'ERROR_INVALID_DOMAIN' + | 'ERROR_INVALID_RP_ID' + | 'ERROR_INVALID_USER_ID_LENGTH' + | 'ERROR_AUTHENTICATOR_GENERAL_ERROR' + | 'ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT' + | 'ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT' + | 'ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED' + | 'ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG' + | 'ERROR_MALFORMED_PUBKEYCREDPARAMS' + | 'ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY' + ; |