Skip to content

Commit

Permalink
refactor: remove bcrypt (danny-avila#375)
Browse files Browse the repository at this point in the history
  • Loading branch information
danorlando committed May 25, 2023
1 parent c7ec6fc commit a3807c9
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 331 deletions.
1 change: 0 additions & 1 deletion api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
"@keyv/mongo": "^2.1.8",
"@waylaidwanderer/chatgpt-api": "^1.36.0",
"axios": "^1.3.4",
"bcrypt": "^5.1.0",
"bcryptjs": "^2.4.3",
"cookie": "^0.5.0",
"cookie-parser": "^1.4.6",
Expand Down
25 changes: 9 additions & 16 deletions api/server/services/auth.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const User = require('../../models/User');
const Token = require('../../models/schema/tokenSchema');
const sendEmail = require('../../utils/sendEmail');
const crypto = require('crypto');
const bcrypt = require('bcrypt');
const bcrypt = require('bcryptjs');
const DebugControl = require('../../utils/debug.js');
const { registerSchema } = require('../../strategies/validators');
const migrateDataToFirstUser = require('../../utils/migrateDataToFirstUser');
Expand Down Expand Up @@ -90,20 +90,13 @@ const registerUser = async (user) => {
// todo: implement refresh token
// const refreshToken = newUser.generateRefreshToken();
// newUser.refreshToken.push({ refreshToken });
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (errh, hash) => {
if (err) {
console.log(err);
}
// set pasword to hash
newUser.password = hash;
newUser.save();
});
});
console.log('newUser', newUser);
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync(newUser.password, salt);
newUser.password = hash;
newUser.save();

if (isFirstRegisteredUser) {
migrateDataToFirstUser(newUser);
// console.log(migrate);
}
response = { status: 200, user: newUser };
return response;
Expand All @@ -127,7 +120,7 @@ const requestPasswordReset = async (email) => {
if (token) await token.deleteOne();

let resetToken = crypto.randomBytes(32).toString('hex');
const hash = await bcrypt.hash(resetToken, 10);
const hash = await bcrypt.hashSync(resetToken, 10);

await new Token({
userId: user._id,
Expand Down Expand Up @@ -156,13 +149,13 @@ const resetPassword = async (userId, token, password) => {
return new Error('Invalid or expired password reset token');
}

const isValid = await bcrypt.compare(token, passwordResetToken.token);
const isValid = bcrypt.compareSync(token, passwordResetToken.token);

if (!isValid) {
return new Error('Invalid or expired password reset token');
}

const hash = await bcrypt.hash(password, 10);
const hash = bcrypt.hashSync(password, 10);

await User.updateOne({ _id: userId }, { $set: { password: hash } }, { new: true });

Expand Down

0 comments on commit a3807c9

Please sign in to comment.