Ребята У меня есть несколько общих вопросов о взаимодействии с моей базой данных PostgreSQL, моим ExpressJS API и React Native Frontend.
Мне удалось написать несколько запросов, которые, например, проверяют, введено ли имя пользователя в моем приложении RN. соответствует тому, что находится в БД, и возвращает его ИД пользователя.
Я знаю, что в моей БД каждый пользователь имеет свой пароль, который хранится в БД хэшированным способом.
Как бызапрос, который выглядит так, будет возвращать, например, идентификатор пользователя, как я это делаю, но только если имя пользователя существует и соответствует паролю, который хранится в БД?
Нужно ли знать, как хешируются пароли на БД?
Запрос идентификатора пользователя:
static getUserId (username, callback) {
db.query(`SELECT userid FROM employee WHERE username = '${username}'`, (err, res)=> {
if(err.error){
return callback(err.error)
} else {
return callback(res)
}
})
}
Пароли сохраняются в одной и той же таблице сотрудников под паролем.
РЕДАКТИРОВАТЬ: Я думаю, что могу взять два утверждения WHERE, подобные этому:
`SELECT userid FROM employee WHERE username = '${username}' AND WHERE password = '${password}'`
но если пользователь вводит свой пароль внутри приложения, он не хэшируется, поэтому мне нужно отправить тот же метод хеширования, чтобы сравнить эти значения?
Заранее спасибо! С уважением Исчез.