@if (isLoading$ | async) {
}
@switch (state()) {
@case (ForceTwoFAState.SETUP) {
{{ (config ? 'login.two-fa' :'login.two-fa-required') | translate }}
{{ (config ? 'login.set-up-verification-method-login' :'login.set-up-verification-method') | translate }}
@for (provider of allowProviders; track provider) {
}
@if (config) {
}
}
@case (ForceTwoFAState.AUTHENTICATOR_APP) {
@switch (appState()) {
@case (ProvidersState.INPUT) {
{{ 'login.enable-authenticator-app' | translate }}
login.scan-qr-code
login.enter-key-manually
{{ totpAuthURLSecret }}
}
@case (ProvidersState.ENTER_CODE) {
}
@case (ProvidersState.SUCCESS) {
}
}
}
@case (ForceTwoFAState.SMS) {
@switch (smsState()) {
@case (ProvidersState.INPUT) {
{{ 'login.enable-authenticator-sms' | translate }}
}
@case (ProvidersState.ENTER_CODE) {
}
@case (ProvidersState.SUCCESS) {
}
}
}
@case (ForceTwoFAState.EMAIL) {
@switch (emailState()) {
@case (ProvidersState.INPUT) {
{{ 'login.enable-authenticator-email' | translate }}
}
@case (ProvidersState.ENTER_CODE) {
}
@case (ProvidersState.SUCCESS) {
}
}
}
@case (ForceTwoFAState.BACKUP_CODE) {
@switch (backupCodeState()) {
@case (BackupCodeState.CODE) {
{{ 'login.get-backup-code' | translate }}
login.backup-code-description
@for (code of backupCode?.codes; track code) {
{{ code }}
}
login.backup-code-warn
}
@case (BackupCodeState.SUCCESS) {
}
}
}
}