aboutsummaryrefslogtreecommitdiff
path: root/src/components/auth_form/auth_form.js
blob: a86a3dca25c41a8d627b63de4ac99805e382b9b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { h, resolveComponent } from 'vue'
import LoginForm from '../login_form/login_form.vue'
import MFARecoveryForm from '../mfa_form/recovery_form.vue'
import MFATOTPForm from '../mfa_form/totp_form.vue'
import { mapGetters } from 'vuex'

const AuthForm = {
  name: 'AuthForm',
  render () {
    return h(resolveComponent(this.authForm))
  },
  computed: {
    authForm () {
      if (this.requiredTOTP) { return 'MFATOTPForm' }
      if (this.requiredRecovery) { return 'MFARecoveryForm' }
      return 'LoginForm'
    },
    ...mapGetters('authFlow', ['requiredTOTP', 'requiredRecovery'])
  },
  components: {
    MFARecoveryForm,
    MFATOTPForm,
    LoginForm
  }
}

export default AuthForm