diff options
| author | CyberRex <hspwinx86@gmail.com> | 2023-10-03 20:27:37 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-03 20:27:37 +0900 |
| commit | a511d8eddc6f770def069d7c6a4e8b42dd19e536 (patch) | |
| tree | 91d01ab3ca38f42ea3b7b40757033cb0bde1b8bf /packages/frontend/src | |
| parent | Create 1696332072038-clean.js (diff) | |
| download | sharkey-a511d8eddc6f770def069d7c6a4e8b42dd19e536.tar.gz sharkey-a511d8eddc6f770def069d7c6a4e8b42dd19e536.tar.bz2 sharkey-a511d8eddc6f770def069d7c6a4e8b42dd19e536.zip | |
2段階認証のバックアップコード一覧をテキストファイルでダウンロード可能に (#11957)
Diffstat (limited to 'packages/frontend/src')
| -rw-r--r-- | packages/frontend/src/pages/settings/2fa.qrdialog.vue | 13 |
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(); } |