From 234294d564f49b1926ebf4a74d418e419ea4da71 Mon Sep 17 00:00:00 2001 From: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com> Date: Sat, 9 May 2020 08:20:22 +0900 Subject: WebAuthnでログインできないのを修正 (#6327) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #6319 --- src/client/components/signin.vue | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'src/client/components') diff --git a/src/client/components/signin.vue b/src/client/components/signin.vue index b84b89a5c7..dc73ad8a0f 100755 --- a/src/client/components/signin.vue +++ b/src/client/components/signin.vue @@ -51,7 +51,7 @@ import MkButton from './ui/button.vue'; import MkInput from './ui/input.vue'; import i18n from '../i18n'; import { apiUrl, host } from '../config'; -import { hexifyAB } from '../scripts/2fa'; +import { byteify, hexify } from '../scripts/2fa'; export default Vue.extend({ i18n, @@ -121,14 +121,9 @@ export default Vue.extend({ this.queryingKey = true; return navigator.credentials.get({ publicKey: { - challenge: Buffer.from( - this.challengeData.challenge - .replace(/\-/g, '+') - .replace(/_/g, '/'), - 'base64' - ), + challenge: byteify(this.challengeData.challenge, 'base64'), allowCredentials: this.challengeData.securityKeys.map(key => ({ - id: Buffer.from(key.id, 'hex'), + id: byteify(key.id, 'hex'), type: 'public-key', transports: ['usb', 'nfc', 'ble', 'internal'] })), @@ -143,9 +138,9 @@ export default Vue.extend({ return this.$root.api('signin', { username: this.username, password: this.password, - signature: hexifyAB(credential.response.signature), - authenticatorData: hexifyAB(credential.response.authenticatorData), - clientDataJSON: hexifyAB(credential.response.clientDataJSON), + signature: hexify(credential.response.signature), + authenticatorData: hexify(credential.response.authenticatorData), + clientDataJSON: hexify(credential.response.clientDataJSON), credentialId: credential.id, challengeId: this.challengeData.challengeId }); -- cgit v1.2.3-freya