diff options
3 files changed, 27 insertions, 25 deletions
diff --git a/packages/server/src/authentication/verifyAuthenticationResponse.test.ts b/packages/server/src/authentication/verifyAuthenticationResponse.test.ts index bb12818..3c9a5b3 100644 --- a/packages/server/src/authentication/verifyAuthenticationResponse.test.ts +++ b/packages/server/src/authentication/verifyAuthenticationResponse.test.ts @@ -139,7 +139,7 @@ test('should throw error if assertion RP ID is unexpected value', async () => { expectedOrigin: assertionOrigin, expectedRPID: 'dev.dontneeda.pw', authenticator: authenticator, - }) + }), ).rejects.toThrow(/rp id/i); }); diff --git a/packages/server/src/authentication/verifyAuthenticationResponse.ts b/packages/server/src/authentication/verifyAuthenticationResponse.ts index adf15e3..d25d521 100644 --- a/packages/server/src/authentication/verifyAuthenticationResponse.ts +++ b/packages/server/src/authentication/verifyAuthenticationResponse.ts @@ -22,8 +22,8 @@ export type VerifyAuthenticationResponseOpts = { authenticator: AuthenticatorDevice; requireUserVerification?: boolean; advancedFIDOConfig?: { - userVerification?: UserVerificationRequirement, - }, + userVerification?: UserVerificationRequirement; + }; }; /** @@ -165,9 +165,7 @@ export async function verifyAuthenticationResponse( } if (advancedFIDOConfig !== undefined) { - const { - userVerification: fidoUserVerification, - } = advancedFIDOConfig; + const { userVerification: fidoUserVerification } = advancedFIDOConfig; /** * Use FIDO Conformance-defined rules for verifying UP and UV flags diff --git a/packages/server/src/helpers/verifySignature.ts b/packages/server/src/helpers/verifySignature.ts index 6716317..de8a56e 100644 --- a/packages/server/src/helpers/verifySignature.ts +++ b/packages/server/src/helpers/verifySignature.ts @@ -7,17 +7,17 @@ import { convertCertBufferToPEM } from './convertCertBufferToPEM'; import { convertPublicKeyToPEM } from './convertPublicKeyToPEM'; type VerifySignatureOptsLeafCert = { - signature: Buffer, - signatureBase: Buffer, - leafCert: Buffer, - hashAlgorithm?: string, + signature: Buffer; + signatureBase: Buffer; + leafCert: Buffer; + hashAlgorithm?: string; }; type VerifySignatureOptsCredentialPublicKey = { - signature: Buffer, - signatureBase: Buffer, - credentialPublicKey: Buffer, - hashAlgorithm?: string, + signature: Buffer; + signatureBase: Buffer; + credentialPublicKey: Buffer; + hashAlgorithm?: string; }; /** @@ -28,21 +28,19 @@ type VerifySignatureOptsCredentialPublicKey = { * @param publicKey Authenticator's public key as a PEM certificate * @param algo Which algorithm to use to verify the signature (default: `'sha256'`) */ -export async function verifySignature(opts: VerifySignatureOptsLeafCert | VerifySignatureOptsCredentialPublicKey): Promise<boolean> { - const { - signature, - signatureBase, - hashAlgorithm = 'sha256', - } = opts; +export async function verifySignature( + opts: VerifySignatureOptsLeafCert | VerifySignatureOptsCredentialPublicKey, +): Promise<boolean> { + const { signature, signatureBase, hashAlgorithm = 'sha256' } = opts; const _isLeafcertOpts = isLeafCertOpts(opts); const _isCredPubKeyOpts = isCredPubKeyOpts(opts); if (!_isLeafcertOpts && !_isCredPubKeyOpts) { - throw new Error('Must declare either `leafCert` or `credentialPublicKey`') + throw new Error('Must declare either "leafCert" or "credentialPublicKey"'); } if (_isLeafcertOpts && _isCredPubKeyOpts) { - throw new Error('Must not declare both `leafCert` and `credentialPublicKey`'); + throw new Error('Must not declare both "leafCert" and "credentialPublicKey"'); } let publicKeyPEM = ''; @@ -89,10 +87,16 @@ export async function verifySignature(opts: VerifySignatureOptsLeafCert | Verify return crypto.createVerify(hashAlgorithm).update(signatureBase).verify(publicKeyPEM, signature); } -function isLeafCertOpts(opts: VerifySignatureOptsLeafCert | VerifySignatureOptsCredentialPublicKey): opts is VerifySignatureOptsLeafCert { +function isLeafCertOpts( + opts: VerifySignatureOptsLeafCert | VerifySignatureOptsCredentialPublicKey, +): opts is VerifySignatureOptsLeafCert { return Object.keys(opts as VerifySignatureOptsLeafCert).indexOf('leafCert') >= 0; } -function isCredPubKeyOpts(opts: VerifySignatureOptsLeafCert | VerifySignatureOptsCredentialPublicKey): opts is VerifySignatureOptsCredentialPublicKey { - return Object.keys(opts as VerifySignatureOptsCredentialPublicKey).indexOf('credentialPublicKey') >= 0; +function isCredPubKeyOpts( + opts: VerifySignatureOptsLeafCert | VerifySignatureOptsCredentialPublicKey, +): opts is VerifySignatureOptsCredentialPublicKey { + return ( + Object.keys(opts as VerifySignatureOptsCredentialPublicKey).indexOf('credentialPublicKey') >= 0 + ); } |