diff --git a/controllers/userController.js b/controllers/userController.js
index 9976932..520f8c9 100644
--- a/controllers/userController.js
+++ b/controllers/userController.js
@@ -7,7 +7,7 @@ import sendEmail from "../Utils/sendEmail.js"
import crypto from "crypto"
import cloudinary from "cloudinary"
import generator from 'generate-password'
-
+import password from 'secure-random-password'
// 1.Register a User
export const registerUser = async (req, res, next) => {
try {
@@ -110,11 +110,16 @@ export const forgotPassword = catchAsyncErrors(async (req, res, next) => {
// )}/api/v1/user/password/reset/${resetToken}`;
//const resetPasswordUrl = `${process.env.FRONTEND_URL}:/api/user/password/reset/${resetToken}`;
//const resetPasswordUrl = `${process.env.FRONTEND_URL}/password/reset/${resetToken}`;
- const password = generator.generate({
- length: 10,
- numbers: true
- });
- user.password = password;
+ const passwords = password.randomPassword({
+ length: 12,
+ characters: [
+ { characters: password.upper, exactly: 1 },
+ { characters: password.symbols, exactly: 1 },
+ password.lower,
+ password.digits]
+ })
+
+ user.password = passwords;
await user.save()
// const message = `Your password reset token are :- \n\n ${resetPasswordUrl} \n\nyour new password is:${password}\n\nIf you have not requested this email then, please ignore it.`;
try {
@@ -122,9 +127,11 @@ export const forgotPassword = catchAsyncErrors(async (req, res, next) => {
await sendEmail({
to: `${user.email}`, // Change to your recipient
- from: 'project.edufuture@gmail.com', // Change to your verified sender
+
+ from: 'project.saleschampions@gmail.com', // Change to your verified sender
+ // from: 'project.edufuture@gmail.com', // Change to your verified sender
subject: `CMP Password Recovery`,
- html: `your new password is:
${password}
If you have not requested this email then, please ignore it.`
+ html: `your new password is:
${passwords}
If you have not requested this email then, please ignore it.`
});
diff --git a/package-lock.json b/package-lock.json
index 281c6ea..b5a13ce 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23,6 +23,7 @@
"mongoose": "^6.3.5",
"multer": "^1.4.5-lts.1",
"nodemailer": "^6.7.5",
+ "secure-random-password": "^0.2.3",
"validator": "^13.7.0"
}
},
@@ -1626,6 +1627,19 @@
"node": ">=6"
}
},
+ "node_modules/secure-random": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.2.tgz",
+ "integrity": "sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ=="
+ },
+ "node_modules/secure-random-password": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/secure-random-password/-/secure-random-password-0.2.3.tgz",
+ "integrity": "sha512-2zpmr6pK3CZGIS9fgApFw00/tKEBVbJTqe4AZLrLNgahCK6ueIR5uMzvbERNibr8hkWneMcOqDcm4wpHWUxrYw==",
+ "dependencies": {
+ "secure-random": "^1.1.2"
+ }
+ },
"node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -2186,8 +2200,7 @@
"cloudinary-core": {
"version": "2.12.3",
"resolved": "https://registry.npmjs.org/cloudinary-core/-/cloudinary-core-2.12.3.tgz",
- "integrity": "sha512-Ll4eDzcrIVn4zCttMh3Mdi+KNz07p5EEjBT2PQSRx8Eok1lKPt3uBBenOk/w88RKK3B8SFIWcEe/mN4BHQ0p8A==",
- "requires": {}
+ "integrity": "sha512-Ll4eDzcrIVn4zCttMh3Mdi+KNz07p5EEjBT2PQSRx8Eok1lKPt3uBBenOk/w88RKK3B8SFIWcEe/mN4BHQ0p8A=="
},
"concat-stream": {
"version": "1.6.2",
@@ -3171,6 +3184,19 @@
"sparse-bitfield": "^3.0.3"
}
},
+ "secure-random": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.2.tgz",
+ "integrity": "sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ=="
+ },
+ "secure-random-password": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/secure-random-password/-/secure-random-password-0.2.3.tgz",
+ "integrity": "sha512-2zpmr6pK3CZGIS9fgApFw00/tKEBVbJTqe4AZLrLNgahCK6ueIR5uMzvbERNibr8hkWneMcOqDcm4wpHWUxrYw==",
+ "requires": {
+ "secure-random": "^1.1.2"
+ }
+ },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
diff --git a/package.json b/package.json
index 0cdacda..3bac299 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
"mongoose": "^6.3.5",
"multer": "^1.4.5-lts.1",
"nodemailer": "^6.7.5",
+ "secure-random-password": "^0.2.3",
"validator": "^13.7.0"
}
}
diff --git a/tmp/tmp-1-1666076256102 b/tmp/tmp-1-1666076256102
new file mode 100644
index 0000000..6fb99c9
Binary files /dev/null and b/tmp/tmp-1-1666076256102 differ