summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/assertion/generateAssertionOptions.test.ts2
-rw-r--r--packages/server/src/assertion/generateAssertionOptions.ts6
-rw-r--r--packages/server/src/assertion/verifyAssertionResponse.test.ts2
-rw-r--r--packages/server/src/assertion/verifyAssertionResponse.ts4
-rw-r--r--packages/server/src/attestation/generateAttestationOptions.test.ts2
-rw-r--r--packages/server/src/attestation/generateAttestationOptions.ts6
-rw-r--r--packages/server/src/attestation/verifications/tpm/verifyTPM.test.ts2
-rw-r--r--packages/server/src/attestation/verifications/verifyAndroidKey.test.ts2
-rw-r--r--packages/server/src/attestation/verifications/verifyApple.test.ts2
-rw-r--r--packages/server/src/attestation/verifyAttestationResponse.test.ts2
-rw-r--r--packages/server/src/attestation/verifyAttestationResponse.ts6
-rw-r--r--packages/server/src/index.test.ts24
-rw-r--r--packages/server/src/index.ts14
13 files changed, 52 insertions, 22 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.test.ts b/packages/server/src/assertion/generateAssertionOptions.test.ts
index 0208d9d..1a5aa9a 100644
--- a/packages/server/src/assertion/generateAssertionOptions.test.ts
+++ b/packages/server/src/assertion/generateAssertionOptions.test.ts
@@ -1,6 +1,6 @@
jest.mock('../helpers/generateChallenge');
-import generateAssertionOptions from './generateAssertionOptions';
+import { generateAssertionOptions } from './generateAssertionOptions';
test('should generate credential request options suitable for sending via JSON', () => {
const challenge = 'totallyrandomvalue';
diff --git a/packages/server/src/assertion/generateAssertionOptions.ts b/packages/server/src/assertion/generateAssertionOptions.ts
index 19bce91..3ed452b 100644
--- a/packages/server/src/assertion/generateAssertionOptions.ts
+++ b/packages/server/src/assertion/generateAssertionOptions.ts
@@ -8,7 +8,7 @@ import base64url from 'base64url';
import generateChallenge from '../helpers/generateChallenge';
-type Options = {
+export type GenerateAssertionOptions = {
allowCredentials?: PublicKeyCredentialDescriptor[];
challenge?: string | Buffer;
timeout?: number;
@@ -30,8 +30,8 @@ type Options = {
* @param extensions Additional plugins the authenticator or browser should use during assertion
* @param rpID Valid domain name (after `https://`)
*/
-export default function generateAssertionOptions(
- options: Options = {},
+export function generateAssertionOptions(
+ options: GenerateAssertionOptions = {},
): PublicKeyCredentialRequestOptionsJSON {
const {
allowCredentials,
diff --git a/packages/server/src/assertion/verifyAssertionResponse.test.ts b/packages/server/src/assertion/verifyAssertionResponse.test.ts
index 705f3cb..a5b6e39 100644
--- a/packages/server/src/assertion/verifyAssertionResponse.test.ts
+++ b/packages/server/src/assertion/verifyAssertionResponse.test.ts
@@ -1,5 +1,5 @@
import base64url from 'base64url';
-import verifyAssertionResponse from './verifyAssertionResponse';
+import { verifyAssertionResponse} from './verifyAssertionResponse';
import * as decodeClientDataJSON from '../helpers/decodeClientDataJSON';
import * as parseAuthenticatorData from '../helpers/parseAuthenticatorData';
diff --git a/packages/server/src/assertion/verifyAssertionResponse.ts b/packages/server/src/assertion/verifyAssertionResponse.ts
index 2c85e6e..098d3c4 100644
--- a/packages/server/src/assertion/verifyAssertionResponse.ts
+++ b/packages/server/src/assertion/verifyAssertionResponse.ts
@@ -12,7 +12,7 @@ import verifySignature from '../helpers/verifySignature';
import parseAuthenticatorData from '../helpers/parseAuthenticatorData';
import isBase64URLString from '../helpers/isBase64URLString';
-type Options = {
+export type VerifyAssertionOptions = {
credential: AssertionCredentialJSON;
expectedChallenge: string;
expectedOrigin: string | string[];
@@ -36,7 +36,7 @@ type Options = {
* `generateAssertionOptions()`. Activates FIDO-specific user presence and verification checks.
* Omitting this value defaults verification to a WebAuthn-specific user presence requirement.
*/
-export default function verifyAssertionResponse(options: Options): VerifiedAssertion {
+export function verifyAssertionResponse(options: VerifyAssertionOptions): VerifiedAssertion {
const {
credential,
expectedChallenge,
diff --git a/packages/server/src/attestation/generateAttestationOptions.test.ts b/packages/server/src/attestation/generateAttestationOptions.test.ts
index eb7dcd7..6f54ba9 100644
--- a/packages/server/src/attestation/generateAttestationOptions.test.ts
+++ b/packages/server/src/attestation/generateAttestationOptions.test.ts
@@ -1,6 +1,6 @@
jest.mock('../helpers/generateChallenge');
-import generateAttestationOptions from './generateAttestationOptions';
+import { generateAttestationOptions } from './generateAttestationOptions';
test('should generate credential request options suitable for sending via JSON', () => {
const rpName = 'SimpleWebAuthn';
diff --git a/packages/server/src/attestation/generateAttestationOptions.ts b/packages/server/src/attestation/generateAttestationOptions.ts
index a523cd1..b191b89 100644
--- a/packages/server/src/attestation/generateAttestationOptions.ts
+++ b/packages/server/src/attestation/generateAttestationOptions.ts
@@ -11,7 +11,7 @@ import base64url from 'base64url';
import generateChallenge from '../helpers/generateChallenge';
-type Options = {
+export type GenerateAttestationOptions = {
rpName: string;
rpID: string;
userID: string;
@@ -93,8 +93,8 @@ const defaultSupportedAlgorithmIDs = supportedCOSEAlgorithmIdentifiers.filter(id
* @param supportedAlgorithmIDs Array of numeric COSE algorithm identifiers supported for
* attestation by this RP. See https://www.iana.org/assignments/cose/cose.xhtml#algorithms
*/
-export default function generateAttestationOptions(
- options: Options,
+export function generateAttestationOptions(
+ options: GenerateAttestationOptions,
): PublicKeyCredentialCreationOptionsJSON {
const {
rpName,
diff --git a/packages/server/src/attestation/verifications/tpm/verifyTPM.test.ts b/packages/server/src/attestation/verifications/tpm/verifyTPM.test.ts
index 81f1fbe..7918afc 100644
--- a/packages/server/src/attestation/verifications/tpm/verifyTPM.test.ts
+++ b/packages/server/src/attestation/verifications/tpm/verifyTPM.test.ts
@@ -1,4 +1,4 @@
-import verifyAttestationResponse from '../../verifyAttestationResponse';
+import { verifyAttestationResponse }from '../../verifyAttestationResponse';
import base64url from 'base64url';
test('should verify TPM response', async () => {
diff --git a/packages/server/src/attestation/verifications/verifyAndroidKey.test.ts b/packages/server/src/attestation/verifications/verifyAndroidKey.test.ts
index a2dfc59..8483d43 100644
--- a/packages/server/src/attestation/verifications/verifyAndroidKey.test.ts
+++ b/packages/server/src/attestation/verifications/verifyAndroidKey.test.ts
@@ -1,4 +1,4 @@
-import verifyAttestationResponse from '../verifyAttestationResponse';
+import { verifyAttestationResponse }from '../verifyAttestationResponse';
import base64url from 'base64url';
test('should verify Android KeyStore response', async () => {
diff --git a/packages/server/src/attestation/verifications/verifyApple.test.ts b/packages/server/src/attestation/verifications/verifyApple.test.ts
index 79ac6c6..985ee8a 100644
--- a/packages/server/src/attestation/verifications/verifyApple.test.ts
+++ b/packages/server/src/attestation/verifications/verifyApple.test.ts
@@ -1,4 +1,4 @@
-import verifyAttestationResponse from '../verifyAttestationResponse';
+import { verifyAttestationResponse }from '../verifyAttestationResponse';
import base64url from 'base64url';
test('should verify Apple attestation', async () => {
diff --git a/packages/server/src/attestation/verifyAttestationResponse.test.ts b/packages/server/src/attestation/verifyAttestationResponse.test.ts
index 96e00db..2d1b347 100644
--- a/packages/server/src/attestation/verifyAttestationResponse.test.ts
+++ b/packages/server/src/attestation/verifyAttestationResponse.test.ts
@@ -1,6 +1,6 @@
import base64url from 'base64url';
-import verifyAttestationResponse from './verifyAttestationResponse';
+import { verifyAttestationResponse }from './verifyAttestationResponse';
import * as decodeAttestationObject from '../helpers/decodeAttestationObject';
import * as decodeClientDataJSON from '../helpers/decodeClientDataJSON';
diff --git a/packages/server/src/attestation/verifyAttestationResponse.ts b/packages/server/src/attestation/verifyAttestationResponse.ts
index 023c8f2..e62071a 100644
--- a/packages/server/src/attestation/verifyAttestationResponse.ts
+++ b/packages/server/src/attestation/verifyAttestationResponse.ts
@@ -20,7 +20,7 @@ import verifyTPM from './verifications/tpm/verifyTPM';
import verifyAndroidKey from './verifications/verifyAndroidKey';
import verifyApple from './verifications/verifyApple';
-type Options = {
+export type VerifyAttestationOptions = {
credential: AttestationCredentialJSON;
expectedChallenge: string;
expectedOrigin: string | string[];
@@ -44,8 +44,8 @@ type Options = {
* @param supportedAlgorithmIDs Array of numeric COSE algorithm identifiers supported for
* attestation by this RP. See https://www.iana.org/assignments/cose/cose.xhtml#algorithms
*/
-export default async function verifyAttestationResponse(
- options: Options,
+export async function verifyAttestationResponse(
+ options: VerifyAttestationOptions,
): Promise<VerifiedAttestation> {
const {
credential,
diff --git a/packages/server/src/index.test.ts b/packages/server/src/index.test.ts
index ea02a04..4658252 100644
--- a/packages/server/src/index.test.ts
+++ b/packages/server/src/index.test.ts
@@ -15,3 +15,27 @@ test('should export method `generateAssertionOptions`', () => {
test('should export method `verifyAssertionResponse`', () => {
expect(index.verifyAssertionResponse).toBeDefined();
});
+
+test('should export method `GenerateAssertionOptions`', () => {
+ expect(index.GenerateAssertionOptions).toBeDefined();
+});
+
+test('should export method `GenerateAttestationOptions`', () => {
+ expect(index.GenerateAttestationOptions).toBeDefined();
+});
+
+test('should export method `VerifyAttestationOptions`', () => {
+ expect(index.VerifyAttestationOptions).toBeDefined();
+});
+
+test('should export method `VerifyAssertionOptions`', () => {
+ expect(index.VerifyAssertionOptions).toBeDefined();
+});
+
+test('should export method `VerifiedAttestation`', () => {
+ expect(index.VerifiedAttestation).toBeDefined();
+});
+
+test('should export method `VerifiedAssertion`', () => {
+ expect(index.VerifiedAssertion).toBeDefined();
+});
diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts
index b98edab..a1aed4e 100644
--- a/packages/server/src/index.ts
+++ b/packages/server/src/index.ts
@@ -2,10 +2,10 @@
* @packageDocumentation
* @module @simplewebauthn/server
*/
-import generateAttestationOptions from './attestation/generateAttestationOptions';
-import verifyAttestationResponse from './attestation/verifyAttestationResponse';
-import generateAssertionOptions from './assertion/generateAssertionOptions';
-import verifyAssertionResponse from './assertion/verifyAssertionResponse';
+import { generateAttestationOptions, GenerateAttestationOptions } from './attestation/generateAttestationOptions';
+import { generateAssertionOptions, GenerateAssertionOptions } from './assertion/generateAssertionOptions';
+import { verifyAttestationResponse, VerifyAttestationOptions, VerifiedAttestation } from './attestation/verifyAttestationResponse';
+import { verifyAssertionResponse, VerifyAssertionOptions, VerifiedAssertion } from './assertion/verifyAssertionResponse';
import MetadataService from './metadata/metadataService';
export {
@@ -13,5 +13,11 @@ export {
verifyAttestationResponse,
generateAssertionOptions,
verifyAssertionResponse,
+ GenerateAssertionOptions,
+ GenerateAttestationOptions,
+ VerifyAttestationOptions,
+ VerifyAssertionOptions,
+ VerifiedAttestation,
+ VerifiedAssertion,
MetadataService,
};