You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.4 KiB
62 lines
2.4 KiB
4 years ago
|
import { Component } from '../../lib/vues6/vues6.js'
|
||
|
import { session } from '../service/Session.service.js'
|
||
|
import { location_service } from '../service/Location.service.js'
|
||
|
import { auth_api } from '../service/AuthApi.service.js'
|
||
|
|
||
|
const template = `
|
||
|
<div class="coreid-auth-page col-lg-6 col-md-8 col-sm-10 col-xs-12 offset-lg-3 offset-md-2 offset-sm-1 offset-xs-0 text-left">
|
||
|
<div class="coreid-auth-page-inner">
|
||
|
<div class="coreid-header font-weight-light">{{ app_name }}</div>
|
||
|
<span v-if="step === 0">
|
||
|
<div class="coreid-message">
|
||
|
This process will disable multi-factor authentication on your account.
|
||
|
<br><br>
|
||
|
For security reasons, this will sign you out of all devices. It will also deactivate any existing app passwords you have generated.
|
||
|
<br><br>
|
||
|
Are you sure you want to continue?
|
||
|
</div>
|
||
|
<div v-if="error_message" class="error-message">{{ error_message }}</div>
|
||
|
<div v-if="other_message" class="other-message">{{ other_message }}</div>
|
||
|
<div class="buttons text-right pad-top">
|
||
|
<button type="button" class="btn btn-primary" @click="back_click">Cancel</button>
|
||
|
<button type="button" class="btn btn-primary" @click="continue_click">Disable MFA</button>
|
||
|
</div>
|
||
|
</span>
|
||
|
<div class="coreid-loading-spinner" v-if="loading"><div class="inner"></div></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
`
|
||
|
|
||
|
export default class MFADisableComponent extends Component {
|
||
|
static get selector() { return 'coreid-mfa-disable-page' }
|
||
|
static get template() { return template }
|
||
|
static get props() { return [] }
|
||
|
|
||
|
app_name = ''
|
||
|
step = 0
|
||
|
loading = false
|
||
|
error_message = ''
|
||
|
other_message = ''
|
||
|
|
||
|
vue_on_create() {
|
||
|
this.app_name = session.get('app.name')
|
||
|
}
|
||
|
|
||
|
async back_click() {
|
||
|
this.loading = true
|
||
|
await location_service.redirect('/dash/profile', 500)
|
||
|
}
|
||
|
|
||
|
async continue_click() {
|
||
|
this.loading = true
|
||
|
const success = await auth_api.mfa_disable()
|
||
|
if ( success ) {
|
||
|
this.other_message = 'MFA was successfully disabled. You\'ll now sign-in normally.'
|
||
|
await location_service.redirect('/dash/profile', 3000)
|
||
|
} else {
|
||
|
this.error_message = 'An unknown error occurred while trying to disable MFA. Let\'s try again...'
|
||
|
await location_service.reload(4000)
|
||
|
}
|
||
|
}
|
||
|
}
|