migrate webauthn.js to typescript

This commit is contained in:
MaysWind
2025-01-11 23:49:47 +08:00
parent b166f6ff56
commit 395f7dfd63
9 changed files with 124 additions and 67 deletions
+8 -5
View File
@@ -119,8 +119,10 @@ import { useExchangeRatesStore } from '@/stores/exchangeRates.ts';
import { APPLICATION_LOGO_PATH } from '@/consts/asset.ts';
import { ThemeType } from '@/core/theme.ts';
import logger from '@/lib/logger.ts';
import webauthn from '@/lib/webauthn.js';
import {
isWebAuthnSupported,
verifyWebAuthnCredential
} from '@/lib/webauthn.ts';
import {
unlockTokenByWebAuthn,
unlockTokenByPinCode,
@@ -128,6 +130,7 @@ import {
getWebAuthnCredentialId
} from '@/lib/userstate.ts';
import { setExpenseAndIncomeAmountColor } from '@/lib/ui/common.ts';
import logger from '@/lib/logger.ts';
export default {
data() {
@@ -150,7 +153,7 @@ export default {
isWebAuthnAvailable() {
return this.settingsStore.appSettings.applicationLockWebAuthn
&& hasWebAuthnConfig()
&& webauthn.isSupported();
&& isWebAuthnSupported();
},
isDarkMode() {
return this.globalTheme.global.name.value === ThemeType.Dark;
@@ -175,14 +178,14 @@ export default {
return;
}
if (!webauthn.isSupported()) {
if (!isWebAuthnSupported()) {
self.$refs.snackbar.showMessage('WebAuth is not supported on this device');
return;
}
self.verifyingByWebAuthn = true;
webauthn.verifyCredential(
verifyWebAuthnCredential(
self.userStore.currentUserBasicInfo,
getWebAuthnCredentialId()
).then(({ id, userName, userSecret }) => {
@@ -66,8 +66,10 @@ import { useSettingsStore } from '@/stores/setting.ts';
import { useUserStore } from '@/stores/user.ts';
import { useTransactionsStore } from '@/stores/transaction.js';
import logger from '@/lib/logger.ts';
import webauthn from '@/lib/webauthn.js';
import {
isWebAuthnCompletelySupported,
registerWebAuthnCredential
} from '@/lib/webauthn.ts';
import {
getUserAppLockState,
encryptToken,
@@ -76,6 +78,7 @@ import {
saveWebAuthnConfig,
clearWebAuthnConfig
} from '@/lib/userstate.ts';
import logger from '@/lib/logger.ts';
export default {
data() {
@@ -114,7 +117,7 @@ export default {
if (newValue) {
self.enablingWebAuthn = true;
webauthn.registerCredential(
registerWebAuthnCredential(
getUserAppLockState(),
self.userStore.currentUserBasicInfo,
).then(({ id }) => {
@@ -150,7 +153,7 @@ export default {
},
created() {
const self = this;
webauthn.isCompletelySupported().then(result => {
isWebAuthnCompletelySupported().then(result => {
self.isSupportedWebAuthn = result;
});
},