#node.js
Вопрос:
Я пытаюсь реализовать хэширование соли для регистрации пользователей в узле js. Для входа в систему пользователю необходимо иметь доступ к сохраненному значению соли. но сейчас передо мной стоит задача: как безопасно хранить значение соли ?
Я также открыт для лучшей реализации процесса аутентификации. Спасибо
Ответ №1:
Это пример, которому вы можете следовать При регистрации.
import bcrypt from 'bcryptjs';
export const insertUserAsOwner = async (addOwnerDto) => {
const tempPassword = generateRandomString(8);
const hashedPassword = await bcrypt.hash(tempPassword, bcrypt.genSaltSync(10));
const user = new Users();
user.firstName = addOwnerDto.firstName;
user.lastName = addOwnerDto.lastName;
user.username = addOwnerDto.username;
user.password = hashedPassword;
user.typeOfUser = 'owner';
user.business = business;
const savedUser = await user.save();
}
Для Входа в Систему
import bcryptjs from 'bcryptjs';
const validate = async(password) =>{
const user = await Users.findOne({username: 'someusername'});
const hashedPassowrd = user.password;
const isValid = await bcryptjs.compare(password, hashedPassword);
if(isValid) return true;
return false
}