Skip to content

Commit

Permalink
enhance(otp): we don't need to generate TOTP secret every 30 seconds
Browse files Browse the repository at this point in the history
  • Loading branch information
Hintay committed Feb 7, 2025
1 parent 8e52325 commit fb532b6
Showing 1 changed file with 0 additions and 16 deletions.
16 changes: 0 additions & 16 deletions app/src/views/preference/components/TOTP.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,13 @@ const resetting = ref(false)
const qrCode = ref('')
const secret = ref('')
const passcode = ref('')
const interval = shallowRef<undefined | ReturnType<typeof setTimeout>>()
const refOtp = useTemplateRef('refOtp')
const recoveryCode = ref('')
const inputRecoveryCode = ref('')
function clickEnable2FA() {
enrolling.value = true
generateSecret()
interval.value = setInterval(() => {
if (enrolling.value)
generateSecret()
else
clearGenerateSecretInterval()
}, 30 * 1000)
}
function clearGenerateSecretInterval() {
if (interval.value) {
clearInterval(interval.value)
}
}
function generateSecret() {
Expand All @@ -47,7 +34,6 @@ function enroll(code: string) {
otp.enroll_otp(secret.value, code).then(r => {
enrolling.value = false
recoveryCode.value = r.recovery_code
clearGenerateSecretInterval()
get2FAStatus()
message.success($gettext('Enable 2FA successfully'))
}).catch(() => {
Expand All @@ -63,8 +49,6 @@ function get2FAStatus() {
get2FAStatus()
onUnmounted(clearGenerateSecretInterval)
function clickReset2FA() {
resetting.value = true
inputRecoveryCode.value = ''
Expand Down

0 comments on commit fb532b6

Please sign in to comment.