mirror of
https://github.com/directus/directus.git
synced 2026-01-21 03:58:06 -05:00
Ensure case insensitive email for password resets (#15420)
This commit is contained in:
@@ -17,7 +17,11 @@ export default async function usersPasswd({ email, password }: { email?: string;
|
||||
const schema = await getSchema();
|
||||
const service = new UsersService({ schema, knex: database });
|
||||
|
||||
const user = await service.knex.select('id').from('directus_users').where({ email }).first();
|
||||
const user = await service.knex
|
||||
.select('id')
|
||||
.from('directus_users')
|
||||
.whereRaw('LOWER(??) = ?', ['email', email.toLowerCase()])
|
||||
.first();
|
||||
if (user) {
|
||||
await service.knex('directus_users').update({ password: passwordHashed }).where({ id: user.id });
|
||||
logger.info(`Password is updated for user ${user.id}`);
|
||||
|
||||
@@ -357,7 +357,11 @@ export class UsersService extends ItemsService {
|
||||
const STALL_TIME = 500;
|
||||
const timeStart = performance.now();
|
||||
|
||||
const user = await this.knex.select('status', 'password').from('directus_users').where({ email }).first();
|
||||
const user = await this.knex
|
||||
.select('status', 'password')
|
||||
.from('directus_users')
|
||||
.whereRaw('LOWER(??) = ?', ['email', email.toLowerCase()])
|
||||
.first();
|
||||
|
||||
if (user?.status !== 'active') {
|
||||
await stall(STALL_TIME, timeStart);
|
||||
|
||||
Reference in New Issue
Block a user