|
@@ -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
|