feat: add logging to local.strategy.ts

Signed-off-by: Philip Molares <philip.molares@udo.edu>
This commit is contained in:
Philip Molares 2022-03-30 23:10:28 +02:00
parent 1c9d228658
commit 98db69448c

View file

@ -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 * SPDX-License-Identifier: AGPL-3.0-only
*/ */
@ -11,6 +11,7 @@ import {
InvalidCredentialsError, InvalidCredentialsError,
NoLocalIdentityError, NoLocalIdentityError,
} from '../../errors/errors'; } from '../../errors/errors';
import { ConsoleLoggerService } from '../../logger/console-logger.service';
import { UserRelationEnum } from '../../users/user-relation.enum'; import { UserRelationEnum } from '../../users/user-relation.enum';
import { User } from '../../users/user.entity'; import { User } from '../../users/user.entity';
import { UsersService } from '../../users/users.service'; import { UsersService } from '../../users/users.service';
@ -22,10 +23,12 @@ export class LocalAuthGuard extends AuthGuard('local') {}
@Injectable() @Injectable()
export class LocalStrategy extends PassportStrategy(Strategy, 'local') { export class LocalStrategy extends PassportStrategy(Strategy, 'local') {
constructor( constructor(
private readonly logger: ConsoleLoggerService,
private userService: UsersService, private userService: UsersService,
private identityService: IdentityService, private identityService: IdentityService,
) { ) {
super(); super();
logger.setContext(LocalStrategy.name);
} }
async validate(username: string, password: string): Promise<User> { async validate(username: string, password: string): Promise<User> {
@ -40,6 +43,9 @@ export class LocalStrategy extends PassportStrategy(Strategy, 'local') {
e instanceof InvalidCredentialsError || e instanceof InvalidCredentialsError ||
e instanceof NoLocalIdentityError e instanceof NoLocalIdentityError
) { ) {
this.logger.log(
`User with username '${username}' could not log in. Reason: ${e.name}`,
);
throw new UnauthorizedException( throw new UnauthorizedException(
'This username and password combination is not valid.', 'This username and password combination is not valid.',
); );