diff --git a/src/identity/local/local.strategy.ts b/src/identity/local/local.strategy.ts index 5e2a6239d..59bfc5900 100644 --- a/src/identity/local/local.strategy.ts +++ b/src/identity/local/local.strategy.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) + * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ @@ -11,6 +11,7 @@ import { InvalidCredentialsError, NoLocalIdentityError, } from '../../errors/errors'; +import { ConsoleLoggerService } from '../../logger/console-logger.service'; import { UserRelationEnum } from '../../users/user-relation.enum'; import { User } from '../../users/user.entity'; import { UsersService } from '../../users/users.service'; @@ -22,10 +23,12 @@ export class LocalAuthGuard extends AuthGuard('local') {} @Injectable() export class LocalStrategy extends PassportStrategy(Strategy, 'local') { constructor( + private readonly logger: ConsoleLoggerService, private userService: UsersService, private identityService: IdentityService, ) { super(); + logger.setContext(LocalStrategy.name); } async validate(username: string, password: string): Promise { @@ -40,6 +43,9 @@ export class LocalStrategy extends PassportStrategy(Strategy, 'local') { e instanceof InvalidCredentialsError || e instanceof NoLocalIdentityError ) { + this.logger.log( + `User with username '${username}' could not log in. Reason: ${e.name}`, + ); throw new UnauthorizedException( 'This username and password combination is not valid.', );