<#import "template.ftl" as layout> <@layout.mainLayout active='totp' bodyClass='totp'; section>

${msg("authenticatorTitle")}

<#if totp.otpCredentials?size == 0>
* ${msg("requiredFields")}
<#if totp.enabled> <#if totp.otpCredentials?size gt 1> <#else> <#list totp.otpCredentials as credential> <#if totp.otpCredentials?size gt 1>
${msg("configureAuthenticators")}
${msg("configureAuthenticators")}
${msg("mobile")}${credential.id} ${credential.userLabel!}
<#else>
class="d-flex align-items-center"> <#if mode?? && mode = "manual">

${totp.totpSecretEncoded}

<#else>

Figure: Barcode

  1. ${msg("totpStep1")}

      <#list totp.policy.supportedApplications as app>
    • ${app}
  2. <#if mode?? && mode = "manual">
  3. ${msg("totpManualStep2")}

    ${msg("totpScanBarcode")}

  4. ${msg("totpManualStep3")}

    • ${msg("totpType")}: ${msg("totp." + totp.policy.type)}
    • ${msg("totpAlgorithm")}: ${totp.policy.getAlgorithmKey()}
    • ${msg("totpDigits")}: ${totp.policy.digits}
    • <#if totp.policy.type = "totp">
    • ${msg("totpInterval")}: ${totp.policy.period}
    • <#elseif totp.policy.type = "hotp">
    • ${msg("totpCounter")}: ${totp.policy.initialCounter}
  5. <#else>
  6. ${msg("totpStep2")}

    ${msg("totpUnableToScan")}

  7. ${msg("totpStep3")}

    ${msg("totpStep3DeviceName")}


*
<#if totp.otpCredentials?size gte 1>*