aboutsummaryrefslogtreecommitdiff
path: root/src/components/user_settings/mfa_totp.js
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2019-06-12 20:16:55 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2019-06-12 20:16:55 +0000
commite53f11c30fb2eedd0a437d3cfe9592c555de6a95 (patch)
tree560ecc4d370fda07c5da8cde5c60c679fa9c7862 /src/components/user_settings/mfa_totp.js
parent9df99c5205b1cb560bb25c0dd81cc90acbde4d7f (diff)
parent77eceedbf7a5b53948d7d91b3d228aa303c02081 (diff)
Merge branch 'feature/2fa' into 'develop'
adds 2FA/two_factor_authentication support See merge request pleroma/pleroma-fe!556
Diffstat (limited to 'src/components/user_settings/mfa_totp.js')
-rw-r--r--src/components/user_settings/mfa_totp.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/components/user_settings/mfa_totp.js b/src/components/user_settings/mfa_totp.js
new file mode 100644
index 00000000..8408d8e9
--- /dev/null
+++ b/src/components/user_settings/mfa_totp.js
@@ -0,0 +1,49 @@
+import Confirm from './confirm.vue'
+import { mapState } from 'vuex'
+
+export default {
+ props: ['settings'],
+ data: () => ({
+ error: false,
+ currentPassword: '',
+ deactivate: false,
+ inProgress: false // progress peform request to disable otp method
+ }),
+ components: {
+ 'confirm': Confirm
+ },
+ computed: {
+ isActivated () {
+ return this.settings.totp
+ },
+ ...mapState({
+ backendInteractor: (state) => state.api.backendInteractor
+ })
+ },
+ methods: {
+ doActivate () {
+ this.$emit('activate')
+ },
+ cancelDeactivate () { this.deactivate = false },
+ doDeactivate () {
+ this.error = null
+ this.deactivate = true
+ },
+ confirmDeactivate () { // confirm deactivate TOTP method
+ this.error = null
+ this.inProgress = true
+ this.backendInteractor.mfaDisableOTP({
+ password: this.currentPassword
+ })
+ .then((res) => {
+ this.inProgress = false
+ if (res.error) {
+ this.error = res.error
+ return
+ }
+ this.deactivate = false
+ this.$emit('deactivate')
+ })
+ }
+ }
+}