mfa_totp.js (1136B)
1 import Confirm from './confirm.vue'
2 import { mapState } from 'vuex'
3
4 export default {
5 props: ['settings'],
6 data: () => ({
7 error: false,
8 currentPassword: '',
9 deactivate: false,
10 inProgress: false // progress peform request to disable otp method
11 }),
12 components: {
13 'confirm': Confirm
14 },
15 computed: {
16 isActivated () {
17 return this.settings.totp
18 },
19 ...mapState({
20 backendInteractor: (state) => state.api.backendInteractor
21 })
22 },
23 methods: {
24 doActivate () {
25 this.$emit('activate')
26 },
27 cancelDeactivate () { this.deactivate = false },
28 doDeactivate () {
29 this.error = null
30 this.deactivate = true
31 },
32 confirmDeactivate () { // confirm deactivate TOTP method
33 this.error = null
34 this.inProgress = true
35 this.backendInteractor.mfaDisableOTP({
36 password: this.currentPassword
37 })
38 .then((res) => {
39 this.inProgress = false
40 if (res.error) {
41 this.error = res.error
42 return
43 }
44 this.deactivate = false
45 this.$emit('deactivate')
46 })
47 }
48 }
49 }