profile.jwt-token
{{ 'profile.token-valid-till' | translate }} {{ jwtTokenExpiration | date: 'yyyy-MM-dd HH:mm:ss' }}
api-key.api-keys

profile.change-password

profile.current-password @if (changePassword.get('currentPassword').hasError('differencePassword')) { {{ 'security.password-requirement.incorrect-password-try-again' | translate }} } login.new-password @if (changePassword.get('newPassword').errors && !changePassword.get('newPassword').hasError('alreadyUsed') && !changePassword.get('newPassword').hasError('hasWhitespaces') && !changePassword.get('newPassword').hasError('passwordSameAsOld')) { {{ 'security.password-requirement.password-not-meet-requirements' | translate }} } @if (changePassword.get('newPassword').hasError('alreadyUsed')) { {{ changePassword.get('newPassword').getError('alreadyUsed') }} } @if (changePassword.get('newPassword').hasError('passwordSameAsOld')) { {{ 'security.password-requirement.password-should-difference' | translate }} } @if (changePassword.get('newPassword').hasError('hasWhitespaces')) { {{ 'security.password-requirement.password-should-not-contain-spaces' | translate }} }
login.new-password-again @if (changePassword.get('newPassword2').hasError('passwordsNotMatch')) { {{ 'security.password-requirement.new-passwords-not-match' | translate }} }
@if (passwordPolicy) {

security.password-requirement.password-requirements

security.password-requirement.at-least

@if (passwordPolicy.minimumUppercaseLetters > 0) {

{{ changePassword.get('newPassword').hasError('notUpperCase') ? 'mdi:circle-small' : 'mdi:check' }} {{ 'security.password-requirement.uppercase-letter' | translate : {count: passwordPolicy.minimumUppercaseLetters} }}

} @if (passwordPolicy.minimumLowercaseLetters > 0) {

{{ changePassword.get('newPassword').hasError('notLowerCase') ? 'mdi:circle-small' : 'mdi:check' }} {{ 'security.password-requirement.lowercase-letter' | translate : {count: passwordPolicy.minimumLowercaseLetters} }}

} @if (passwordPolicy.minimumDigits > 0) {

{{ changePassword.get('newPassword').hasError('notNumeric') ? 'mdi:circle-small' : 'mdi:check' }} {{ 'security.password-requirement.digit' | translate : {count: passwordPolicy.minimumDigits} }}

} @if (passwordPolicy.minimumSpecialCharacters > 0) {

{{ changePassword.get('newPassword').hasError('notSpecial') ? 'mdi:circle-small' : 'mdi:check' }} {{ 'security.password-requirement.special-character' | translate : {count: passwordPolicy.minimumSpecialCharacters} }}

} @if (passwordPolicy.minimumLength > 0) {

{{ changePassword.get('newPassword').hasError('minLength') ? 'mdi:circle-small' : 'mdi:check' }} {{ 'security.password-requirement.character' | translate : {count: passwordPolicy.minimumLength} }}

} @if (passwordPolicy.maximumLength > 0) {

security.password-requirement.at-most

{{ 'security.password-requirement.character' | translate : {count: passwordPolicy.maximumLength} }}

}
}
@if (allowTwoFactorProviders.length) { admin.2fa.2fa
security.2fa.2fa-description

security.2fa.authenticate-with

@for (provider of allowTwoFactorProviders; track trackByProvider($index, provider)) {

{{ providersData.get(provider).name | translate }}

@if (!twoFactorAuth.get(provider).value) {
{{ providersData.get(provider).description | translate }}
} @else {
{{ providersData.get(provider).activatedHint | translate: providerDataInfo(provider) }}
}
@if (twoFactorAuth.get(provider).value && provider !== twoFactorAuthProviderType.BACKUP_CODE && !activeSingleProvider) { security.2fa.main-2fa-method } @if (twoFactorAuth.get(provider).value && provider === twoFactorAuthProviderType.BACKUP_CODE) { }
@if (!$last) { } }
}