@tapni/auth 1.0.24 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +12 -12
- package/dist/{Apps-DA7onoLT.js → Apps-BoicWNuM.js} +1 -1
- package/dist/{Billing-tnByXsfT.js → Billing-DcwH__SB.js} +1 -1
- package/dist/{CustomApp-1JkoWwUw.js → CustomApp-CqdT8ror.js} +1 -1
- package/dist/{General-jgzTHPN_.js → General-CQN8cTr2.js} +1 -1
- package/dist/{QR-DcgFM1Mf.js → QR-CzWOx04Q.js} +1 -1
- package/dist/TapniAuth.es.js +1 -1
- package/dist/TapniAuth.umd.js +23 -23
- package/dist/{install-BkC--Y_4.js → install-oAOCLHy_.js} +3430 -3651
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/App.vue +7 -8
- package/src/mixins/global.mixin.js +1 -1
- package/src/mixins/microsoft.mixin.js +1 -1
- package/src/mixins/okta.mixin.js +1 -1
- package/src/mixins/saml.mixin.js +2 -9
- package/src/services/UtilService.js +15 -15
- package/src/store/auth.js +0 -1
- package/src/store/locales/cn.js +33 -1
- package/src/store/locales/de.js +39 -1
- package/src/store/locales/es.js +34 -1
- package/src/store/locales/fr.js +34 -1
- package/src/store/locales/it.js +34 -1
- package/src/store/locales/kr.js +34 -1
- package/src/store/locales/sr.js +37 -1
- package/src/store/locales/tr.js +40 -1
- package/src/views/Account.vue +1 -3
- package/src/views/Login.vue +1 -1
- package/src/views/Register.vue +1 -1
- package/src/views/Reset.vue +1 -1
- package/src/views/Security.vue +0 -1
- package/src/views/Verify.vue +1 -1
- package/src/views/Welcome.vue +3 -8
- package/dist/blank.html +0 -31
- package/src/assets/index.css +0 -199
- package/src/components/DELETE_Language.vue +0 -168
- package/src/components/DELETE_LinkIcon.vue +0 -237
- package/src/components/DELETE_ModalOverlay.vue +0 -68
- package/src/components/DELETE_OTP.vue +0 -105
- package/src/components/DELETE_SSO.vue +0 -120
- package/src/components/DELETE_SSOPick.vue +0 -111
- package/src/mixins/DELETE_mfa-auth.mixin.js +0 -53
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div
|
|
3
|
-
:class="{ 'pointer delete-menu': true, 'delete-menu-active': toggle }"
|
|
4
|
-
@click="toggleEmit"
|
|
5
|
-
></div>
|
|
6
|
-
|
|
7
|
-
<!--
|
|
8
|
-
<transition name="fade">
|
|
9
|
-
<div v-if="toggle" class="pointer delete-menu" @click="toggleEmit"></div>
|
|
10
|
-
</transition>
|
|
11
|
-
-->
|
|
12
|
-
</template>
|
|
13
|
-
|
|
14
|
-
<script>
|
|
15
|
-
import { EventBus } from "../store/event-bus";
|
|
16
|
-
import AuthMixin from "../mixins/auth.mixin";
|
|
17
|
-
|
|
18
|
-
export default {
|
|
19
|
-
name: "ModalOverlay",
|
|
20
|
-
mixins: [AuthMixin],
|
|
21
|
-
data() {
|
|
22
|
-
return {
|
|
23
|
-
toggle: false,
|
|
24
|
-
};
|
|
25
|
-
},
|
|
26
|
-
mounted() {
|
|
27
|
-
EventBus.$on("closeModal", () => {
|
|
28
|
-
this.toggle = false;
|
|
29
|
-
window.document.body.style.overflow = "auto";
|
|
30
|
-
window.document.body.style.height = "auto";
|
|
31
|
-
});
|
|
32
|
-
EventBus.$on("openModalOverlay", () => {
|
|
33
|
-
this.toggle = true;
|
|
34
|
-
});
|
|
35
|
-
// EventBus.$on('togglePasswordModal', this.toggleModal)
|
|
36
|
-
// EventBus.$on('toggleAddAccountModal', this.toggleModal)
|
|
37
|
-
// EventBus.$on("toggleAccountSettingsModal", this.toggleModal);
|
|
38
|
-
// EventBus.$on("toggleSSOLanguageModal", this.toggleModal);
|
|
39
|
-
// EventBus.$on("toggleOTPField", this.toggleModal);
|
|
40
|
-
EventBus.$on("toggleSSOModal", this.toggleModal);
|
|
41
|
-
EventBus.$on("toggleSSOPickModal", this.toggleModal);
|
|
42
|
-
},
|
|
43
|
-
methods: {
|
|
44
|
-
toggleModal(shouldToggle = true) {
|
|
45
|
-
if (shouldToggle) {
|
|
46
|
-
this.toggle = !this.toggle;
|
|
47
|
-
if (this.toggle) {
|
|
48
|
-
window.document.body.style.overflow = "hidden";
|
|
49
|
-
window.document.body.style.height = "100vh";
|
|
50
|
-
} else {
|
|
51
|
-
window.document.body.style.overflow = "auto";
|
|
52
|
-
window.document.body.style.height = "auto";
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
toggleEmit() {
|
|
57
|
-
if(!this.isLoggedIn && this.user?.lead_form?.forceFilling) return;
|
|
58
|
-
EventBus.$emit("closeModal");
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
</script>
|
|
63
|
-
|
|
64
|
-
<style scoped>
|
|
65
|
-
.fade-enter-to /* .fade-leave-active below version 2.1.8 */ {
|
|
66
|
-
opacity: 1;
|
|
67
|
-
}
|
|
68
|
-
</style>
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<form
|
|
3
|
-
@submit.prevent="submit"
|
|
4
|
-
class="menu-wrapper menu-light menu-modal center-text activate-page"
|
|
5
|
-
:class="{ 'active-menu': toggle }"
|
|
6
|
-
style="height: auto; margin-top: -172.5px"
|
|
7
|
-
>
|
|
8
|
-
<a
|
|
9
|
-
@click="forceClose"
|
|
10
|
-
class="color-black pull-right pointer"
|
|
11
|
-
style="margin-top: 5px; position: absolute; right: 5px"
|
|
12
|
-
>
|
|
13
|
-
<i class="font-17 color-black">
|
|
14
|
-
<img
|
|
15
|
-
src="https://cdn.tapni.co/icons/down-arrow.png"
|
|
16
|
-
class="responsive-image"
|
|
17
|
-
style="width: 45%"
|
|
18
|
-
/>
|
|
19
|
-
</i>
|
|
20
|
-
</a>
|
|
21
|
-
<img
|
|
22
|
-
:src="'https://cdn.tapni.co/icons/padlock.png'"
|
|
23
|
-
class="small-bottom" style="margin: 0 auto; margin-top: 2px; margin-bottom: 15px; width: 40px;"
|
|
24
|
-
/>
|
|
25
|
-
<h3 class="bold center-text color-black half-top half-bottom">
|
|
26
|
-
{{ ssoLang[appLanguage].otp_title }}
|
|
27
|
-
</h3>
|
|
28
|
-
<p class="half-top full-bottom padding-left padding-right" v-html="ssoLang[appLanguage].otp_subtitle"></p>
|
|
29
|
-
<div>
|
|
30
|
-
<input
|
|
31
|
-
type="text"
|
|
32
|
-
v-model="otp"
|
|
33
|
-
:placeholder="ssoLang[appLanguage].otp_code"
|
|
34
|
-
class="edit-input h-40 lh-40"
|
|
35
|
-
style="width: 80%; margin: 0 auto; height: 25px;"
|
|
36
|
-
required
|
|
37
|
-
@keydown.space.prevent
|
|
38
|
-
/>
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
<button
|
|
42
|
-
type="submit"
|
|
43
|
-
class="button black-button white-button button-full"
|
|
44
|
-
style="margin: 0 auto; margin-top: 25px; margin-bottom: 30px"
|
|
45
|
-
>
|
|
46
|
-
<span v-if="!loading">{{ ssoLang[appLanguage].continue }} </span>
|
|
47
|
-
<span v-else class="button--loading button__loader"></span>
|
|
48
|
-
</button>
|
|
49
|
-
|
|
50
|
-
<p class="close-text center-text half-top color-black">
|
|
51
|
-
<span v-html="ssoLang[this.appLanguage].otp_p1"></span>
|
|
52
|
-
<a href="mailto:support@tapni.com?subject=MFA Authentication Problem"> support@tapni.com</a>
|
|
53
|
-
</p>
|
|
54
|
-
|
|
55
|
-
</form>
|
|
56
|
-
</template>
|
|
57
|
-
|
|
58
|
-
<script>
|
|
59
|
-
import { EventBus } from "../store/event-bus.js";
|
|
60
|
-
import AuthMixin from "@/mixins/auth.mixin.js";
|
|
61
|
-
export default {
|
|
62
|
-
name: "OTP",
|
|
63
|
-
mixins: [AuthMixin],
|
|
64
|
-
data() {
|
|
65
|
-
return {
|
|
66
|
-
toggle: false,
|
|
67
|
-
otp: "",
|
|
68
|
-
loading: false,
|
|
69
|
-
};
|
|
70
|
-
},
|
|
71
|
-
mounted() {
|
|
72
|
-
EventBus.$on("toggleOTPField", this.toggleModal);
|
|
73
|
-
EventBus.$on("closeModal", () => {
|
|
74
|
-
this.toggle = false;
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
beforeDestroy() {
|
|
78
|
-
EventBus["_events"]["toggleOTPField"].pop();
|
|
79
|
-
},
|
|
80
|
-
methods: {
|
|
81
|
-
forceClose() {
|
|
82
|
-
EventBus.$emit("closeModal");
|
|
83
|
-
},
|
|
84
|
-
close() {
|
|
85
|
-
this.toggleModal();
|
|
86
|
-
},
|
|
87
|
-
async submit() {
|
|
88
|
-
if (!this.otp || this.otp.length !== 6) {
|
|
89
|
-
return this.errorSnack(this.ssoLang[this.appLanguage].invalid_code)
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
this.loading = true;
|
|
93
|
-
EventBus.$emit('otpSubmitted', this.otp);
|
|
94
|
-
EventBus.$emit("toggleOTPField")
|
|
95
|
-
this.loading = false;
|
|
96
|
-
},
|
|
97
|
-
toggleModal() {
|
|
98
|
-
this.toggle = !this.toggle;
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
</script>
|
|
103
|
-
|
|
104
|
-
<style scoped>
|
|
105
|
-
</style>
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<form
|
|
3
|
-
@submit.prevent="submit"
|
|
4
|
-
class="menu-wrapper menu-light menu-modal center-text activate-page"
|
|
5
|
-
:class="{ 'active-menu': toggle }"
|
|
6
|
-
style="height: auto; margin-top: -172.5px"
|
|
7
|
-
>
|
|
8
|
-
<a
|
|
9
|
-
@click="forceClose"
|
|
10
|
-
class="color-black pull-right pointer"
|
|
11
|
-
style="margin-top: 5px; position: absolute; right: 5px"
|
|
12
|
-
>
|
|
13
|
-
<i class="font-17 color-black">
|
|
14
|
-
<img
|
|
15
|
-
src="https://cdn.tapni.co/icons/down-arrow.png"
|
|
16
|
-
class="responsive-image"
|
|
17
|
-
style="width: 45%"
|
|
18
|
-
/>
|
|
19
|
-
</i>
|
|
20
|
-
</a>
|
|
21
|
-
<h3 class="bold center-text color-black half-top half-bottom">
|
|
22
|
-
{{ ssoLang[appLanguage].enter_company_email }}
|
|
23
|
-
</h3>
|
|
24
|
-
<div>
|
|
25
|
-
<input
|
|
26
|
-
type="text"
|
|
27
|
-
v-model="email"
|
|
28
|
-
:placeholder="ssoLang[this.appLanguage].email"
|
|
29
|
-
autocomplete="off"
|
|
30
|
-
autocorrect="off"
|
|
31
|
-
autocapitalize="off"
|
|
32
|
-
spellcheck="false"
|
|
33
|
-
class="edit-input h-40 lh-40"
|
|
34
|
-
style="width: 80%"
|
|
35
|
-
required
|
|
36
|
-
@keydown.space.prevent
|
|
37
|
-
/>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<button
|
|
41
|
-
type="submit"
|
|
42
|
-
class="button black-button white-button button-full"
|
|
43
|
-
style="margin: 0 auto; margin-top: 25px; margin-bottom: 30px"
|
|
44
|
-
>
|
|
45
|
-
<span v-if="!loading">{{ ssoLang[appLanguage].continue }} </span>
|
|
46
|
-
<span v-else class="button--loading button__loader"></span>
|
|
47
|
-
</button>
|
|
48
|
-
</form>
|
|
49
|
-
</template>
|
|
50
|
-
|
|
51
|
-
<script>
|
|
52
|
-
import { EventBus } from "../store/event-bus";
|
|
53
|
-
import MicrosoftMixin from "../mixins/microsoft.mixin";
|
|
54
|
-
import OktaMixin from "../mixins/okta.mixin";
|
|
55
|
-
import SamlMixin from "../mixins/saml.mixin";
|
|
56
|
-
import AuthMixin from "../mixins/auth.mixin";
|
|
57
|
-
export default {
|
|
58
|
-
name: "SSO",
|
|
59
|
-
mixins: [MicrosoftMixin, OktaMixin, SamlMixin, AuthMixin],
|
|
60
|
-
data() {
|
|
61
|
-
return {
|
|
62
|
-
toggle: false,
|
|
63
|
-
email: "",
|
|
64
|
-
loading: false,
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
mounted() {
|
|
68
|
-
EventBus.$on("toggleSSOModal", this.toggleModal);
|
|
69
|
-
EventBus.$on("closeModal", () => {
|
|
70
|
-
this.toggle = false;
|
|
71
|
-
});
|
|
72
|
-
},
|
|
73
|
-
beforeDestroy() {
|
|
74
|
-
EventBus["_events"]["toggleSSOModal"].pop();
|
|
75
|
-
},
|
|
76
|
-
methods: {
|
|
77
|
-
forceClose() {
|
|
78
|
-
EventBus.$emit("closeModal");
|
|
79
|
-
},
|
|
80
|
-
close() {
|
|
81
|
-
this.toggleModal();
|
|
82
|
-
},
|
|
83
|
-
async submit() {
|
|
84
|
-
this.loading = true;
|
|
85
|
-
const response = await this.getCompanyBySSOEmail({ email: this.email });
|
|
86
|
-
this.loading = false;
|
|
87
|
-
let ssoTypes;
|
|
88
|
-
if (!response || response.error) return;
|
|
89
|
-
else {
|
|
90
|
-
ssoTypes = Object.keys(response.sso);
|
|
91
|
-
if (!ssoTypes.length) {
|
|
92
|
-
this.forceClose();
|
|
93
|
-
return this.errorSnack(this.ssoLang[this.appLanguage].no_sso_logins);
|
|
94
|
-
} else {
|
|
95
|
-
if (ssoTypes[0] === "azure")
|
|
96
|
-
this.microsoftLogin("sso", response.sso.azure.sso);
|
|
97
|
-
if (ssoTypes[0] === "okta") this.oktaLogin(response.sso.okta.sso);
|
|
98
|
-
if (ssoTypes[0] === "saml")
|
|
99
|
-
this.samlLogin(response.sso.saml.sso.loginUrl);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
toggleModal() {
|
|
104
|
-
this.toggle = !this.toggle;
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
</script>
|
|
109
|
-
|
|
110
|
-
<style scoped>
|
|
111
|
-
.sso-img {
|
|
112
|
-
margin: 0 auto;
|
|
113
|
-
margin-top: 2px;
|
|
114
|
-
width: 35px;
|
|
115
|
-
}
|
|
116
|
-
input {
|
|
117
|
-
margin: 0 auto;
|
|
118
|
-
height: 25px;
|
|
119
|
-
}
|
|
120
|
-
</style>
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<form @submit.prevent class="menu-wrapper menu-light menu-modal center-text activate-page" :class="{ 'active-menu': toggle }" style="height: auto; margin-top: -172.5px">
|
|
3
|
-
<a @click="forceClose" class="color-black pull-right pointer" style="margin-top: 5px; position: absolute; right: 5px">
|
|
4
|
-
<i class="font-17 color-black">
|
|
5
|
-
<img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 45%" />
|
|
6
|
-
</i>
|
|
7
|
-
</a>
|
|
8
|
-
<h3 class="bold center-text color-black half-top half-bottom">
|
|
9
|
-
{{ ssoLang[appLanguage].select_sign_method }}
|
|
10
|
-
</h3>
|
|
11
|
-
|
|
12
|
-
<!-- Azure Login Button -->
|
|
13
|
-
<a v-if="sso?.azure" @click="ssoLogin('azure')" class="button-center button black-button button-90 google-button pointer">
|
|
14
|
-
<img src="https://cdn.tapni.co/icons/azure.png" style="position: absolute; margin-left: -11px; padding: 8px 0; height: 100%" />
|
|
15
|
-
<span v-if="!azureLoad">{{ ssoLang[appLanguage].sign_in_with }} Azure</span>
|
|
16
|
-
<span v-else class="button--loading button__loader"></span>
|
|
17
|
-
</a>
|
|
18
|
-
|
|
19
|
-
<!-- Okta Login Button -->
|
|
20
|
-
<a v-if="sso?.okta" @click="ssoLogin('okta')" class="button-center button black-button button-90 google-button pointer">
|
|
21
|
-
<img src="https://cdn.tapni.co/icons/okta.png" style="position: absolute; margin-left: -11px; padding: 8px 0; height: 100%" />
|
|
22
|
-
<span v-if="!oktaLoad">{{ ssoLang[appLanguage].sign_in_with }} Okta</span>
|
|
23
|
-
<span v-else class="button--loading button__loader"></span>
|
|
24
|
-
</a>
|
|
25
|
-
|
|
26
|
-
<!-- SAML Login Button -->
|
|
27
|
-
<a v-if="sso?.saml" @click="ssoLogin('saml')" class="button-center button black-button button-90 google-button pointer">
|
|
28
|
-
<img src="https://cdn.tapni.co/icons/saml.png" style="position: absolute; margin-left: -11px; padding: 8px 0; height: 100%" />
|
|
29
|
-
<span v-if="!samlLoad">{{ ssoLang[appLanguage].sign_in_with }} SAML</span>
|
|
30
|
-
<span v-else class="button--loading button__loader"></span>
|
|
31
|
-
</a>
|
|
32
|
-
</form>
|
|
33
|
-
</template>
|
|
34
|
-
|
|
35
|
-
<script>
|
|
36
|
-
import { EventBus } from '../store/event-bus';
|
|
37
|
-
import MicrosoftMixin from '../mixins/microsoft.mixin';
|
|
38
|
-
import OktaMixin from '../mixins/okta.mixin';
|
|
39
|
-
import SamlMixin from '../mixins/saml.mixin';
|
|
40
|
-
import AuthMixin from '../mixins/auth.mixin';
|
|
41
|
-
export default {
|
|
42
|
-
name: 'SSOPick',
|
|
43
|
-
mixins: [MicrosoftMixin, OktaMixin, SamlMixin, AuthMixin],
|
|
44
|
-
data() {
|
|
45
|
-
return {
|
|
46
|
-
toggle: false,
|
|
47
|
-
sso: null,
|
|
48
|
-
email: null,
|
|
49
|
-
azureLoad: false,
|
|
50
|
-
oktaLoad: false,
|
|
51
|
-
samlLoad: false
|
|
52
|
-
};
|
|
53
|
-
},
|
|
54
|
-
mounted() {
|
|
55
|
-
EventBus.$on('toggleSSOPickModal', this.toggleModal);
|
|
56
|
-
EventBus.$on('closeModal', () => {
|
|
57
|
-
this.toggle = false;
|
|
58
|
-
});
|
|
59
|
-
},
|
|
60
|
-
beforeDestroy() {
|
|
61
|
-
EventBus['_events']['toggleSSOPickModal'].pop();
|
|
62
|
-
},
|
|
63
|
-
methods: {
|
|
64
|
-
forceClose() {
|
|
65
|
-
EventBus.$emit('closeModal');
|
|
66
|
-
},
|
|
67
|
-
close() {
|
|
68
|
-
this.toggleModal();
|
|
69
|
-
},
|
|
70
|
-
async ssoLogin(type) {
|
|
71
|
-
if (type === 'azure') {
|
|
72
|
-
this.microsoftLogin('sso', this.sso.azure.sso);
|
|
73
|
-
this.azureLoad = true;
|
|
74
|
-
}
|
|
75
|
-
if (type === 'okta') {
|
|
76
|
-
this.oktaLogin(this.sso.okta.sso);
|
|
77
|
-
this.oktaLoad = true;
|
|
78
|
-
}
|
|
79
|
-
if (type === 'saml') {
|
|
80
|
-
this.samlLogin(this.sso.saml.sso.loginUrl);
|
|
81
|
-
this.samlLoad = true;
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
toggleModal(data) {
|
|
85
|
-
this.azureLoad = false;
|
|
86
|
-
this.oktaLoad = false;
|
|
87
|
-
this.samlLoad = false;
|
|
88
|
-
this.sso = null;
|
|
89
|
-
this.email = null;
|
|
90
|
-
|
|
91
|
-
if (data) {
|
|
92
|
-
this.sso = data.sso;
|
|
93
|
-
this.email = data.email;
|
|
94
|
-
}
|
|
95
|
-
this.toggle = !this.toggle;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
</script>
|
|
100
|
-
|
|
101
|
-
<style scoped>
|
|
102
|
-
.sso-img {
|
|
103
|
-
margin: 0 auto;
|
|
104
|
-
margin-top: 2px;
|
|
105
|
-
width: 35px;
|
|
106
|
-
}
|
|
107
|
-
input {
|
|
108
|
-
margin: 0 auto;
|
|
109
|
-
height: 25px;
|
|
110
|
-
}
|
|
111
|
-
</style>
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import QRCodeStyling from "qr-code-styling";
|
|
2
|
-
import { authenticator } from "@otplib/preset-browser";
|
|
3
|
-
import {EventBus} from "@/store/event-bus.js";
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
data () {
|
|
7
|
-
return {
|
|
8
|
-
accountDelete: false,
|
|
9
|
-
|
|
10
|
-
changePassword: false,
|
|
11
|
-
password: '',
|
|
12
|
-
passwordRepeat: '',
|
|
13
|
-
currentPassword: '',
|
|
14
|
-
|
|
15
|
-
otpToken: null,
|
|
16
|
-
otpSecret: null,
|
|
17
|
-
mfaEnable: false,
|
|
18
|
-
otp: "",
|
|
19
|
-
qrCodeHash: null,
|
|
20
|
-
qrCodeRefreshInterval: null,
|
|
21
|
-
poolingInterval: null,
|
|
22
|
-
loading: false,
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
props: {
|
|
26
|
-
isModal: {
|
|
27
|
-
type: Boolean,
|
|
28
|
-
required: false,
|
|
29
|
-
default: false,
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
computed: {
|
|
33
|
-
promptMFA () {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
async mounted () {
|
|
38
|
-
if (this.renderView === 'AuthSecurity') {
|
|
39
|
-
await this.getAccountSettings();
|
|
40
|
-
this.generateOTPQrCode();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
EventBus.$on('otpSubmitted', this.otpSubmitted)
|
|
44
|
-
},
|
|
45
|
-
methods: {
|
|
46
|
-
otpSubmitted(code) {
|
|
47
|
-
this.otpToken = code;
|
|
48
|
-
|
|
49
|
-
// Assuming that the parent component had a method called submit
|
|
50
|
-
this.submit();
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
}
|