Fixed FIDO WebAuthn with FireFox.

This commit is contained in:
Ylian Saint-Hilaire 2022-05-23 17:38:38 -07:00
parent 82a4c472e0
commit fd0e349854

View File

@ -2881,9 +2881,7 @@
var publicKey = message.request; var publicKey = message.request;
message.request.challenge = Uint8Array.from(atob(message.request.challenge), function (c) { return c.charCodeAt(0) }) message.request.challenge = Uint8Array.from(atob(message.request.challenge), function (c) { return c.charCodeAt(0) })
message.request.user.id = Uint8Array.from(atob(message.request.user.id), function (c) { return c.charCodeAt(0) }) message.request.user.id = Uint8Array.from(atob(message.request.user.id), function (c) { return c.charCodeAt(0) })
setTimeout(function() { navigator.credentials.create({ publicKey: publicKey }).then(function(newCredentialInfo) {
navigator.credentials.create({ publicKey: publicKey })
.then(function(newCredentialInfo) {
// Public key credential // Public key credential
var r = { rawId: btoa(String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.rawId))), response: { attestationObject: btoa(String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.attestationObject))), clientDataJSON: btoa(String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.clientDataJSON))) }, type: newCredentialInfo.type }; var r = { rawId: btoa(String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.rawId))), response: { attestationObject: btoa(String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.attestationObject))), clientDataJSON: btoa(String.fromCharCode.apply(null, new Uint8Array(newCredentialInfo.response.clientDataJSON))) }, type: newCredentialInfo.type };
meshserver.send({ action: 'webauthn-endregister', response: r }); meshserver.send({ action: 'webauthn-endregister', response: r });
@ -2892,7 +2890,6 @@
// Error // Error
setDialogMode(2, "Add Security Key", 1, null, "ERROR: " + error); setDialogMode(2, "Add Security Key", 1, null, "ERROR: " + error);
}); });
}, 100);
break; break;
} }
case 'verifyPhone': { case 'verifyPhone': {