From f8c4906a5110d7bcea5f2b74fa531609065ce1fa Mon Sep 17 00:00:00 2001 From: Alice Gaudon Date: Sat, 14 Nov 2020 18:16:05 +0100 Subject: [PATCH] PasswordAuthMethod: fix findUserByIdentifier() --- src/auth/password/PasswordAuthMethod.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/auth/password/PasswordAuthMethod.ts b/src/auth/password/PasswordAuthMethod.ts index 60a0a83..d419106 100644 --- a/src/auth/password/PasswordAuthMethod.ts +++ b/src/auth/password/PasswordAuthMethod.ts @@ -12,7 +12,6 @@ import Controller from "../../Controller"; import UserPasswordComponent from "./UserPasswordComponent"; import UserNameComponent, {USERNAME_REGEXP} from "../models/UserNameComponent"; import ModelFactory from "../../db/ModelFactory"; -import {WhereOperator, WhereTest} from "../../db/ModelQuery"; import {ServerError} from "../../HttpError"; export default class PasswordAuthMethod implements AuthMethod { @@ -30,12 +29,15 @@ export default class PasswordAuthMethod implements AuthMethod .with('user') .where('email', identifier); + const user = (await query + .first())?.user.getOrFail(); + if (user) return user; + if (ModelFactory.get(User).hasComponent(UserNameComponent)) { - query.where('name', identifier, WhereTest.EQ, WhereOperator.OR); + return await User.select().where('name', identifier).first(); } - return (await query - .first())?.user.getOrFail() || null; + return null; } public async getProofsForSession(session: Express.Session): Promise {