Show specific message when max login attempts exceeded

- Add new label
- Use label for default login error message
This commit is contained in:
Clemente Raposo 2022-07-07 16:45:25 +01:00
parent 0469ce460c
commit eb45c0cd9c

View file

@ -37,6 +37,7 @@ import {LanguageStore, LanguageStringMap} from '../../../../store/language/langu
import {MessageService} from '../../../../services/message/message.service';
import {Process} from '../../../../services/process/process.service';
import {StringMap} from 'common';
import {HttpErrorResponse} from '@angular/common/http';
import {AppStateStore} from "../../../../store/app-state/app-state.store";
@ -197,10 +198,33 @@ export class LoginUiComponent implements OnInit {
return;
}
onLoginError(): void {
onLoginError(httpError: HttpErrorResponse): void {
this.loading = false;
this.message.log('Login failed');
this.message.addDangerMessage('Login credentials incorrect, please try again.');
const defaultMessage = 'Login credentials incorrect, please try again.';
const defaultTooManyFailedMessage = 'Too many failed login attempts, please try again later.';
let message = this.languageStore.getFieldLabel('LOGIN_INCORRECT');
const errorMessage = httpError?.error?.error ?? '';
if (errorMessage === 'Too many failed login attempts, please try again in 1 minute.') {
message = this.getTooManyFailedMessage(defaultTooManyFailedMessage);
}
if (!message) {
message = defaultMessage
}
this.message.addDangerMessage(message);
}
protected getTooManyFailedMessage(defaultTooManyFailedMessage: string): string {
let tooManyFailedMessage = this.languageStore.getFieldLabel('LOGIN_TOO_MANY_FAILED');
if (!tooManyFailedMessage) {
tooManyFailedMessage = defaultTooManyFailedMessage;
}
return tooManyFailedMessage;
}
protected setCurrentLanguage(): void {