Browse Source

enhance: Improve passkey registration

0xJacky 1 day ago
parent
commit
0f1008e478
1 changed files with 13 additions and 8 deletions
  1. 13 8
      app/src/views/preference/components/AuthSettings/AddPasskey.vue

+ 13 - 8
app/src/views/preference/components/AuthSettings/AddPasskey.vue

@@ -14,19 +14,23 @@ const passkeyEnabled = ref(false)
 const regLoading = ref(false)
 const regLoading = ref(false)
 async function registerPasskey() {
 async function registerPasskey() {
   regLoading.value = true
   regLoading.value = true
-  const optionsJSON = await passkey.begin_registration()
+  try {
+    const optionsJSON = await passkey.begin_registration()
 
 
-  const attestationResponse = await startRegistration({ optionsJSON })
+    const attestationResponse = await startRegistration({ optionsJSON })
 
 
-  await passkey.finish_registration(attestationResponse, passkeyName.value)
+    await passkey.finish_registration(attestationResponse, passkeyName.value)
 
 
-  emit('created')
+    emit('created')
 
 
-  message.success($gettext('Register passkey successfully'))
-  addPasskeyModelOpen.value = false
+    message.success($gettext('Register passkey successfully'))
+    addPasskeyModelOpen.value = false
 
 
-  user.passkeyRawId = attestationResponse.rawId
-  regLoading.value = false
+    user.passkeyRawId = attestationResponse.rawId
+  }
+  finally {
+    regLoading.value = false
+  }
 }
 }
 
 
 function addPasskey() {
 function addPasskey() {
@@ -53,6 +57,7 @@ passkey.get_config_status().then(r => {
       :closable="!passkeyEnabled"
       :closable="!passkeyEnabled"
       :footer="passkeyEnabled ? undefined : false"
       :footer="passkeyEnabled ? undefined : false"
       :confirm-loading="regLoading"
       :confirm-loading="regLoading"
+      :ok-button-props="{ disabled: !passkeyName }"
       @ok="registerPasskey"
       @ok="registerPasskey"
     >
     >
       <AForm
       <AForm