summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyberRex <hspwinx86@gmail.com>2023-10-03 20:27:37 +0900
committerGitHub <noreply@github.com>2023-10-03 20:27:37 +0900
commita511d8eddc6f770def069d7c6a4e8b42dd19e536 (patch)
tree91d01ab3ca38f42ea3b7b40757033cb0bde1b8bf
parentCreate 1696332072038-clean.js (diff)
downloadsharkey-a511d8eddc6f770def069d7c6a4e8b42dd19e536.tar.gz
sharkey-a511d8eddc6f770def069d7c6a4e8b42dd19e536.tar.bz2
sharkey-a511d8eddc6f770def069d7c6a4e8b42dd19e536.zip
2段階認証のバックアップコード一覧をテキストファイルでダウンロード可能に (#11957)
-rw-r--r--packages/frontend/src/pages/settings/2fa.qrdialog.vue13
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/settings/2fa.qrdialog.vue b/packages/frontend/src/pages/settings/2fa.qrdialog.vue
index c2d1694c5b..4641b49103 100644
--- a/packages/frontend/src/pages/settings/2fa.qrdialog.vue
+++ b/packages/frontend/src/pages/settings/2fa.qrdialog.vue
@@ -83,6 +83,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #value><code class="_monospace">{{ code }}</code></template>
</MkKeyValue>
</div>
+
+ <MkButton primary rounded gradate @click="downloadBackupCodes"><i class="ti ti-download"></i> {{ i18n.ts.download }}</MkButton>
</div>
</MkFolder>
</div>
@@ -108,6 +110,7 @@ import * as os from '@/os.js';
import MkFolder from '@/components/MkFolder.vue';
import MkInfo from '@/components/MkInfo.vue';
import { confetti } from '@/scripts/confetti.js';
+import { $i } from '@/account.js';
defineProps<{
twoFactorData: {
@@ -143,6 +146,16 @@ async function tokenDone() {
});
}
+function downloadBackupCodes() {
+ if (backupCodes.value !== undefined) {
+ const txtBlob = new Blob([backupCodes.value.join('\n')], { type: 'text/plain' });
+ const dummya = document.createElement('a');
+ dummya.href = URL.createObjectURL(txtBlob);
+ dummya.download = `${$i?.username}-2fa-backup-codes.txt`;
+ dummya.click();
+ }
+}
+
function allDone() {
dialog.value.close();
}