This commit is contained in:
pawan-dot 2022-10-18 12:29:35 +05:30
parent ba9285593f
commit eda538336b
4 changed files with 44 additions and 10 deletions

View File

@ -7,7 +7,7 @@ import sendEmail from "../Utils/sendEmail.js"
import crypto from "crypto" import crypto from "crypto"
import cloudinary from "cloudinary" import cloudinary from "cloudinary"
import generator from 'generate-password' import generator from 'generate-password'
import password from 'secure-random-password'
// 1.Register a User // 1.Register a User
export const registerUser = async (req, res, next) => { export const registerUser = async (req, res, next) => {
try { try {
@ -110,11 +110,16 @@ export const forgotPassword = catchAsyncErrors(async (req, res, next) => {
// )}/api/v1/user/password/reset/${resetToken}`; // )}/api/v1/user/password/reset/${resetToken}`;
//const resetPasswordUrl = `${process.env.FRONTEND_URL}:/api/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 resetPasswordUrl = `${process.env.FRONTEND_URL}/password/reset/${resetToken}`;
const password = generator.generate({ const passwords = password.randomPassword({
length: 10, length: 12,
numbers: true characters: [
}); { characters: password.upper, exactly: 1 },
user.password = password; { characters: password.symbols, exactly: 1 },
password.lower,
password.digits]
})
user.password = passwords;
await user.save() 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.`; // 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 { try {
@ -122,9 +127,11 @@ export const forgotPassword = catchAsyncErrors(async (req, res, next) => {
await sendEmail({ await sendEmail({
to: `${user.email}`, // Change to your recipient 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`, subject: `CMP Password Recovery`,
html: `your new password is: <br/> <strong> ${password}</strong><br/><br/>If you have not requested this email then, please ignore it.` html: `your new password is: <br/> <strong> ${passwords}</strong><br/><br/>If you have not requested this email then, please ignore it.`
}); });

30
package-lock.json generated
View File

@ -23,6 +23,7 @@
"mongoose": "^6.3.5", "mongoose": "^6.3.5",
"multer": "^1.4.5-lts.1", "multer": "^1.4.5-lts.1",
"nodemailer": "^6.7.5", "nodemailer": "^6.7.5",
"secure-random-password": "^0.2.3",
"validator": "^13.7.0" "validator": "^13.7.0"
} }
}, },
@ -1626,6 +1627,19 @@
"node": ">=6" "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": { "node_modules/semver": {
"version": "5.7.1", "version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@ -2186,8 +2200,7 @@
"cloudinary-core": { "cloudinary-core": {
"version": "2.12.3", "version": "2.12.3",
"resolved": "https://registry.npmjs.org/cloudinary-core/-/cloudinary-core-2.12.3.tgz", "resolved": "https://registry.npmjs.org/cloudinary-core/-/cloudinary-core-2.12.3.tgz",
"integrity": "sha512-Ll4eDzcrIVn4zCttMh3Mdi+KNz07p5EEjBT2PQSRx8Eok1lKPt3uBBenOk/w88RKK3B8SFIWcEe/mN4BHQ0p8A==", "integrity": "sha512-Ll4eDzcrIVn4zCttMh3Mdi+KNz07p5EEjBT2PQSRx8Eok1lKPt3uBBenOk/w88RKK3B8SFIWcEe/mN4BHQ0p8A=="
"requires": {}
}, },
"concat-stream": { "concat-stream": {
"version": "1.6.2", "version": "1.6.2",
@ -3171,6 +3184,19 @@
"sparse-bitfield": "^3.0.3" "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": { "semver": {
"version": "5.7.1", "version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",

View File

@ -25,6 +25,7 @@
"mongoose": "^6.3.5", "mongoose": "^6.3.5",
"multer": "^1.4.5-lts.1", "multer": "^1.4.5-lts.1",
"nodemailer": "^6.7.5", "nodemailer": "^6.7.5",
"secure-random-password": "^0.2.3",
"validator": "^13.7.0" "validator": "^13.7.0"
} }
} }

BIN
tmp/tmp-1-1666076256102 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB