summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/server/src/services/metadataService.ts31
1 files changed, 14 insertions, 17 deletions
diff --git a/packages/server/src/services/metadataService.ts b/packages/server/src/services/metadataService.ts
index b234463..07e22a4 100644
--- a/packages/server/src/services/metadataService.ts
+++ b/packages/server/src/services/metadataService.ts
@@ -15,9 +15,9 @@ import parseJWT from '../metadata/parseJWT';
// Cached WebAuthn metadata statements
type CachedAAGUID = {
- url: TOCEntry['url'];
- hash: TOCEntry['hash'];
- statusReports: TOCEntry['statusReports'];
+ url: MDSEntry['url'];
+ hash: MDSEntry['hash'];
+ statusReports: MDSEntry['statusReports'];
statement?: MetadataStatement;
tocURL?: CachedMDS['url'];
};
@@ -216,7 +216,7 @@ class MetadataService {
const data = await respTOC.text();
// Break apart the JWT we get back
- const parsedJWT = parseJWT<MDSJWTTOCHeader, MDSJWTTOCPayload>(data);
+ const parsedJWT = parseJWT<MDSJWTHeader, MDSJWTPayload>(data);
const header = parsedJWT[0];
const payload = parsedJWT[1];
@@ -369,28 +369,23 @@ export type MetadataStatement = {
userVerificationDetails: [[{ userVerification: 1 }]];
};
-type MDSJWTTOCHeader = {
+type MDSJWTHeader = {
alg: string;
typ: string;
x5c: Base64URLString[];
};
-type MDSJWTTOCPayload = {
+type MDSJWTPayload = {
+ legalHeader: string;
+ no: number;
// YYYY-MM-DD
nextUpdate: string;
- entries: TOCEntry[];
- no: number;
- legalHeader: string;
+ entries: MDSEntry[];
};
-type TOCEntry = {
- url: string;
- // YYYY-MM-DD
- timeOfLastStatusChange: string;
- hash: string;
- aaid?: string;
- aaguid?: string;
+type MDSEntry = {
attestationCertificateKeyIdentifiers: string[];
+ metadataStatement: MetadataStatement;
statusReports: {
status: FIDO_AUTHENTICATOR_STATUS;
certificateNumber: string;
@@ -402,8 +397,10 @@ type TOCEntry = {
// YYYY-MM-DD
effectiveDate: string;
}[];
+ // YYYY-MM-DD
+ timeOfLastStatusChange: string;
};
-type TOCAAGUIDEntry = Omit<TOCEntry, 'aaid'> & {
+type TOCAAGUIDEntry = Omit<MDSEntry, 'aaid'> & {
aaguid: string;
};