@nauth-toolkit/mfa-passkey 0.1.83 → 0.1.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type RegistrationResponseJSON, type AuthenticationResponseJSON } from '@simplewebauthn/server';
|
|
2
2
|
import { NAuthConfig, NAuthLogger, IMFADevice } from '@nauth-toolkit/core';
|
|
3
3
|
import { SetupPasskeyResponseDTO, GetPasskeyChallengeResponseDTO } from './dto/mfa.dto';
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.service.d.ts","sourceRoot":"","sources":["../../src/passkey.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"passkey.service.d.ts","sourceRoot":"","sources":["../../src/passkey.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAEhC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EAEX,WAAW,EAIX,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAExF;;;;;;;;;;GAUG;AAEH,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;gBAGiB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW;IAGtC;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;;;;;;;OAQG;IACG,2BAA2B,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,UAAU,EAAO,GACjC,OAAO,CAAC,uBAAuB,CAAC;IAsCnC;;;;;;;;OAQG;IACG,kBAAkB,CACtB,UAAU,EAAE,wBAAwB,EACpC,iBAAiB,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IA0EF;;;;;OAKG;IACG,6BAA6B,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA+CvG;;;;;;;;OAQG;IACG,oBAAoB,CACxB,UAAU,EAAE,0BAA0B,EACtC,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IA6DF;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAStB;;;;;OAKG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAM/C"}
|
|
@@ -123,7 +123,8 @@ class PasskeyService {
|
|
|
123
123
|
if (!verification.verified || !verification.registrationInfo) {
|
|
124
124
|
throw new core_1.NAuthException(core_1.AuthErrorCode.VALIDATION_FAILED, 'Passkey registration failed verification');
|
|
125
125
|
}
|
|
126
|
-
const {
|
|
126
|
+
const { credential: registrationCredential } = verification.registrationInfo;
|
|
127
|
+
const { id: credentialID, publicKey: credentialPublicKey, counter } = registrationCredential;
|
|
127
128
|
// Use client-provided transports or try to extract from verification
|
|
128
129
|
let finalTransports = transports || [];
|
|
129
130
|
if (finalTransports.length === 0) {
|
|
@@ -221,17 +222,8 @@ class PasskeyService {
|
|
|
221
222
|
const passkeyConfig = this.getPasskeyConfig();
|
|
222
223
|
let verification;
|
|
223
224
|
try {
|
|
224
|
-
// Convert base64url
|
|
225
|
+
// Convert base64url public key to Buffer
|
|
225
226
|
// Note: Database may store as base64 or base64url, try both formats
|
|
226
|
-
let credentialIDBuffer;
|
|
227
|
-
try {
|
|
228
|
-
// Try base64url first (current format)
|
|
229
|
-
credentialIDBuffer = Buffer.from(device.credentialId, 'base64url');
|
|
230
|
-
}
|
|
231
|
-
catch {
|
|
232
|
-
// Fallback to standard base64 (legacy format)
|
|
233
|
-
credentialIDBuffer = Buffer.from(device.credentialId, 'base64');
|
|
234
|
-
}
|
|
235
227
|
let publicKeyBuffer;
|
|
236
228
|
try {
|
|
237
229
|
// Try base64url first (current format)
|
|
@@ -246,9 +238,9 @@ class PasskeyService {
|
|
|
246
238
|
expectedChallenge,
|
|
247
239
|
expectedOrigin: Array.isArray(passkeyConfig.origin) ? passkeyConfig.origin : [passkeyConfig.origin],
|
|
248
240
|
expectedRPID: passkeyConfig.rpId,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
241
|
+
credential: {
|
|
242
|
+
id: device.credentialId,
|
|
243
|
+
publicKey: new Uint8Array(publicKeyBuffer),
|
|
252
244
|
counter: device.counter,
|
|
253
245
|
transports: device.transports || undefined,
|
|
254
246
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.service.js","sourceRoot":"","sources":["../../src/passkey.service.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"passkey.service.js","sourceRoot":"","sources":["../../src/passkey.service.ts"],"names":[],"mappings":"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"}
|