diff --git a/src/client/pages/my-settings/2fa.vue b/src/client/pages/my-settings/2fa.vue index 8432bdb32..1d1e111da 100644 --- a/src/client/pages/my-settings/2fa.vue +++ b/src/client/pages/my-settings/2fa.vue @@ -208,11 +208,11 @@ export default Vue.extend({ challengeId: registration.challengeId, stage: 0, publicKeyOptions: { - challenge: Buffer.from( - registration.challenge - .replace(/\-/g, "+") - .replace(/_/g, "/"), - 'base64' + challenge: Uint8Array.from( + atob(registration.challenge + .replace(/\-/g, '+') + .replace(/_/g, '/')), + x => x.charCodeAt(0), ), rp: { id: hostname, @@ -223,7 +223,7 @@ export default Vue.extend({ name: this.$store.state.i.username, displayName: this.$store.state.i.name, }, - pubKeyCredParams: [{alg: -7, type: 'public-key'}], + pubKeyCredParams: [{ alg: -7, type: 'public-key' }], timeout: 60000, attestation: 'direct' },