@bluuweb2 years agoCurso FullStack de Javascript: 6
@
@chistoperez2 years agoError: req requires a callback function ... Hace unos días se actualizó Passport la versión 0.6.0 que mejora la robustez contra clases de ataques de fijación de sesión . Por lo cual ahora la función de logout requiere una función de callback y quedaría así const cerrarSesion = (req, res) => { req.logout(function (err) { if (err) { return next(err); } res.redirect("/auth/login"); }); }; ...18
@
@GonzaAhrexd2 years agoMuchas gracias, me está sirviendo un montón para el proyecto de mi escuela!!!
@
@lilycode26542 years agoEsperando mientras sigo estudiando react estoy en estado de Un componente valor nos vemos desde Chile 1
@
@GabrielMartinez-ez9ue2 years agoMuchas gracias! yo voy a utilizar esta información para ver como la uso con Postgres! 2
@
@Deus-lo-Vuilt2 years agoAqui esperando el estreno :D , Gracias Nacho por tanto 1
@
@oscar_cornejo2 years agoAlgún capitulo para roles de usuarios? 2
@
@jesusquintanaesquiliche98082 years agoNo habia tenido tiempo de seguir todos los directos y he vuelto a repasar con este video tutorial. Simplemente magistral, sigue así 2
@
@Christian-zo4gg8 months agoBuenas, vengo del futuro (07/09/2023), algunas dependencias se han actualizado y no funcionan exactamente igual como se hizo en el video, aquí dejo la solución: 1. nanoid. nanoid esta en su versión 4.0.2 y ahora sólo funciona con ES Modules, para usar con Common JS se debe usar la versión 3x, instalar con: npm install --save nanoid@3. 2. Función logout() de passport. (Esto se lo copio a un compañero que escribió en los comentarios llamado @chistoperez). passport se actualizó la versión 0.6.0 y ahora en la función de logout se requiere una función de callback para que funcione: const logoutUser = (req, res) => { req.logout( (err) => { if(err) return next(err) }); return res.redirect('/auth/login') }; 3. csurf. A partir del 13 de Septiembre del 2022 csurf fue completamente deprecado por su creador (quedo obsoleto y fue retirado de NPM) debido a que tenia muchas vulnerabilidades en la seguridad y estaba muy desactualizado con los nuevos requerimientos, además de que los nuevos frameworks ya traen mejores sistemas de seguridad por defecto. Van a encontrar otras librerías con el nombre parecido, pero lo que mas se sugiere es usar la librería Helmet de express o la del framework que estén utilizando. 4. Función remove() de Mongoose. En versiones más recientes de Mongoose, se ha considerado obsoleto, y se recomienda utilizar deleteOne() o deleteMany() para eliminar documentos. En la constante de eliminarUrl del archivo homeController.js, sustituir "await url.remove();" por "await Url.deleteOne({ _id: id });". ...2
@
@jimmypedraza4339 months agoProfe puedo utilizar passport y jwt la vez o es mejor utilizar uno solo, como es la manera correcta?
@
@IvanAponzalast yearCordial saludos dev tengo un error en el custom para validar el repite password, me dice que no puede leer una propiedad undefine en el body views/register.hbs <input type="password" name="repassword" placeholder="Repita Password", class="form-control mb-2" value="12345"> routes/auth.js body("password", "Contraseña de mínimo 5 caracteres") .trim() .isLength({ min: 5 }) .escape() .custom((value, { request }) => { console.log(request.body.repassword) if (value !== request.body.repassword) { throw new Error("No coinciden las contraseñas"); } else { return value; } }) response.json { "type": "field", "value": "12345", "msg": "Cannot read properties of undefined (reading 'body')", "path": "password", "location": "body" } ] no he podido validar la contraseña ...
@
@zangetzu83032 years agohola tengo una consulta puedo usar mongoDB para un proyecto de inventario, clientes, proveedores, servicios, o deberia usar Mysql. 1
@
@alexisbustamante79502 years agoTio Nacho, Me gustaría saber como hace esas paginas de documentación, hay alguna plantilla , sería genial aprenderlo!!! , actualmente estoy usando VUE con Node y postgresql 1
@
@joancursos7762 years agoExpress-validator -> custom -> password Creo que hay un posible problema al usar la opcion .escape() en el password. Si pongo un password como este: 111&111, al "escapar" el password lo transforma en 111&111. Esto conlleva que el password "escapado" no coincide con el password de confirmacion (que no esta "escapado"), por lo que seria necesario "escapar" también el password de confirmación no aceptar el caracter '&' en el password Al "escapar" el password en el login no se genera ningún problema Si se hace una validación con RegEx, bien sea, en el modelo (directamente en el esquema o en un method personalizado o de alguna otra forma), es necesario que el RegEx admita el ';', de otra forma, al tener que validar "&" dará error. Creo. ...
@
@davidelbicho0772 years agono me deja instalar el bycryptjs :( y en la parte 1 del turorial tampoco me deja instalar el nanoid :( ayudaaaaaa
@
@bluuweb2 years agoCurso FullStack de Javascript: 6
@
@chistoperez2 years agoError: req requires a callback function ... Hace unos días se actualizó Passport la versión 0.6.0 que mejora la robustez contra clases de ataques de fijación de sesión . Por lo cual ahora la función de logout requiere una función de callback y quedaría así const cerrarSesion = (req, res) => { req.logout(function (err) { if (err) { return next(err); } res.redirect("/auth/login"); }); }; ...18
@
@oscar_cornejo2 years agoAlgún capitulo para roles de usuarios? 2
@
@lilycode26542 years agoEsperando mientras sigo estudiando react estoy en estado de Un componente valor nos vemos desde Chile 1
@
@jesusquintanaesquiliche98082 years agoNo habia tenido tiempo de seguir todos los directos y he vuelto a repasar con este video tutorial. Simplemente magistral, sigue así 2
@
@GonzaAhrexd2 years agoMuchas gracias, me está sirviendo un montón para el proyecto de mi escuela!!!
@
@Deus-lo-Vuilt2 years agoAqui esperando el estreno :D , Gracias Nacho por tanto 1
@
@zangetzu83032 years agohola tengo una consulta puedo usar mongoDB para un proyecto de inventario, clientes, proveedores, servicios, o deberia usar Mysql. 1
@
@GabrielMartinez-ez9ue2 years agoMuchas gracias! yo voy a utilizar esta información para ver como la uso con Postgres! 2
@
@IvanAponzalast yearCordial saludos dev tengo un error en el custom para validar el repite password, me dice que no puede leer una propiedad undefine en el body views/register.hbs <input type="password" name="repassword" placeholder="Repita Password", class="form-control mb-2" value="12345"> routes/auth.js body("password", "Contraseña de mínimo 5 caracteres") .trim() .isLength({ min: 5 }) .escape() .custom((value, { request }) => { console.log(request.body.repassword) if (value !== request.body.repassword) { throw new Error("No coinciden las contraseñas"); } else { return value; } }) response.json { "type": "field", "value": "12345", "msg": "Cannot read properties of undefined (reading 'body')", "path": "password", "location": "body" } ] no he podido validar la contraseña ...
@
@jimmypedraza4339 months agoProfe puedo utilizar passport y jwt la vez o es mejor utilizar uno solo, como es la manera correcta?
@
@joancursos7762 years agoExpress-validator -> custom -> password Creo que hay un posible problema al usar la opcion .escape() en el password. Si pongo un password como este: 111&111, al "escapar" el password lo transforma en 111&111. Esto conlleva que el password "escapado" no coincide con el password de confirmacion (que no esta "escapado"), por lo que seria necesario "escapar" también el password de confirmación no aceptar el caracter '&' en el password Al "escapar" el password en el login no se genera ningún problema Si se hace una validación con RegEx, bien sea, en el modelo (directamente en el esquema o en un method personalizado o de alguna otra forma), es necesario que el RegEx admita el ';', de otra forma, al tener que validar "&" dará error. Creo. ...
@
@Christian-zo4gg8 months agoBuenas, vengo del futuro (07/09/2023), algunas dependencias se han actualizado y no funcionan exactamente igual como se hizo en el video, aquí dejo la solución: 1. nanoid. nanoid esta en su versión 4.0.2 y ahora sólo funciona con ES Modules, para usar con Common JS se debe usar la versión 3x, instalar con: npm install --save nanoid@3. 2. Función logout() de passport. (Esto se lo copio a un compañero que escribió en los comentarios llamado @chistoperez). passport se actualizó la versión 0.6.0 y ahora en la función de logout se requiere una función de callback para que funcione: const logoutUser = (req, res) => { req.logout( (err) => { if(err) return next(err) }); return res.redirect('/auth/login') }; 3. csurf. A partir del 13 de Septiembre del 2022 csurf fue completamente deprecado por su creador (quedo obsoleto y fue retirado de NPM) debido a que tenia muchas vulnerabilidades en la seguridad y estaba muy desactualizado con los nuevos requerimientos, además de que los nuevos frameworks ya traen mejores sistemas de seguridad por defecto. Van a encontrar otras librerías con el nombre parecido, pero lo que mas se sugiere es usar la librería Helmet de express o la del framework que estén utilizando. 4. Función remove() de Mongoose. En versiones más recientes de Mongoose, se ha considerado obsoleto, y se recomienda utilizar deleteOne() o deleteMany() para eliminar documentos. En la constante de eliminarUrl del archivo homeController.js, sustituir "await url.remove();" por "await Url.deleteOne({ _id: id });". ...2
@
@davidelbicho0772 years agono me deja instalar el bycryptjs :( y en la parte 1 del turorial tampoco me deja instalar el nanoid :( ayudaaaaaa
@
@alexisbustamante79502 years agoTio Nacho, Me gustaría saber como hace esas paginas de documentación, hay alguna plantilla , sería genial aprenderlo!!! , actualmente estoy usando VUE con Node y postgresql 1
@
@bluuweb2 years agoCurso FullStack de Javascript: 6
@
@chistoperez2 years agoError: req requires a callback function ... Hace unos días se actualizó Passport la versión 0.6.0 que mejora la robustez contra clases de ataques de fijación de sesión . Por lo cual ahora la función de logout requiere una función de callback y quedaría así const cerrarSesion = (req, res) => { req.logout(function (err) { if (err) { return next(err); } res.redirect("/auth/login"); }); }; ...18
@
@GonzaAhrexd2 years agoMuchas gracias, me está sirviendo un montón para el proyecto de mi escuela!!!
@
@lilycode26542 years agoEsperando mientras sigo estudiando react estoy en estado de Un componente valor nos vemos desde Chile 1
@
@GabrielMartinez-ez9ue2 years agoMuchas gracias! yo voy a utilizar esta información para ver como la uso con Postgres! 2
@
@Deus-lo-Vuilt2 years agoAqui esperando el estreno :D , Gracias Nacho por tanto 1
@
@oscar_cornejo2 years agoAlgún capitulo para roles de usuarios? 2
@
@jesusquintanaesquiliche98082 years agoNo habia tenido tiempo de seguir todos los directos y he vuelto a repasar con este video tutorial. Simplemente magistral, sigue así 2
@
@Christian-zo4gg8 months agoBuenas, vengo del futuro (07/09/2023), algunas dependencias se han actualizado y no funcionan exactamente igual como se hizo en el video, aquí dejo la solución: 1. nanoid. nanoid esta en su versión 4.0.2 y ahora sólo funciona con ES Modules, para usar con Common JS se debe usar la versión 3x, instalar con: npm install --save nanoid@3. 2. Función logout() de passport. (Esto se lo copio a un compañero que escribió en los comentarios llamado @chistoperez). passport se actualizó la versión 0.6.0 y ahora en la función de logout se requiere una función de callback para que funcione: const logoutUser = (req, res) => { req.logout( (err) => { if(err) return next(err) }); return res.redirect('/auth/login') }; 3. csurf. A partir del 13 de Septiembre del 2022 csurf fue completamente deprecado por su creador (quedo obsoleto y fue retirado de NPM) debido a que tenia muchas vulnerabilidades en la seguridad y estaba muy desactualizado con los nuevos requerimientos, además de que los nuevos frameworks ya traen mejores sistemas de seguridad por defecto. Van a encontrar otras librerías con el nombre parecido, pero lo que mas se sugiere es usar la librería Helmet de express o la del framework que estén utilizando. 4. Función remove() de Mongoose. En versiones más recientes de Mongoose, se ha considerado obsoleto, y se recomienda utilizar deleteOne() o deleteMany() para eliminar documentos. En la constante de eliminarUrl del archivo homeController.js, sustituir "await url.remove();" por "await Url.deleteOne({ _id: id });". ...2
@
@jimmypedraza4339 months agoProfe puedo utilizar passport y jwt la vez o es mejor utilizar uno solo, como es la manera correcta?
@
@IvanAponzalast yearCordial saludos dev tengo un error en el custom para validar el repite password, me dice que no puede leer una propiedad undefine en el body views/register.hbs <input type="password" name="repassword" placeholder="Repita Password", class="form-control mb-2" value="12345"> routes/auth.js body("password", "Contraseña de mínimo 5 caracteres") .trim() .isLength({ min: 5 }) .escape() .custom((value, { request }) => { console.log(request.body.repassword) if (value !== request.body.repassword) { throw new Error("No coinciden las contraseñas"); } else { return value; } }) response.json { "type": "field", "value": "12345", "msg": "Cannot read properties of undefined (reading 'body')", "path": "password", "location": "body" } ] no he podido validar la contraseña ...
@
@zangetzu83032 years agohola tengo una consulta puedo usar mongoDB para un proyecto de inventario, clientes, proveedores, servicios, o deberia usar Mysql. 1
@
@alexisbustamante79502 years agoTio Nacho, Me gustaría saber como hace esas paginas de documentación, hay alguna plantilla , sería genial aprenderlo!!! , actualmente estoy usando VUE con Node y postgresql 1
@
@joancursos7762 years agoExpress-validator -> custom -> password Creo que hay un posible problema al usar la opcion .escape() en el password. Si pongo un password como este: 111&111, al "escapar" el password lo transforma en 111&111. Esto conlleva que el password "escapado" no coincide con el password de confirmacion (que no esta "escapado"), por lo que seria necesario "escapar" también el password de confirmación no aceptar el caracter '&' en el password Al "escapar" el password en el login no se genera ningún problema Si se hace una validación con RegEx, bien sea, en el modelo (directamente en el esquema o en un method personalizado o de alguna otra forma), es necesario que el RegEx admita el ';', de otra forma, al tener que validar "&" dará error. Creo. ...
@
@davidelbicho0772 years agono me deja instalar el bycryptjs :( y en la parte 1 del turorial tampoco me deja instalar el nanoid :( ayudaaaaaa
Related videos for Curso de Node.js + Express + MongoDB (parte 02) - Auth + Session + Passport + Rutas protegidas:
Hace unos días se actualizó Passport la versión 0.6.0 que mejora la robustez contra clases de ataques de fijación de sesión .
Por lo cual ahora la función de logout requiere una función de callback y quedaría así
const cerrarSesion = (req, res) => {
req.logout(function (err) {
if (err) {
return next(err);
}
res.redirect("/auth/login");
});
}; ... 18
Un componente valor nos vemos desde Chile 1
1. nanoid.
nanoid esta en su versión 4.0.2 y ahora sólo funciona con ES Modules, para usar con Common JS se debe usar la versión 3x, instalar con: npm install --save nanoid@3.
2. Función logout() de passport.
(Esto se lo copio a un compañero que escribió en los comentarios llamado @chistoperez).
passport se actualizó la versión 0.6.0 y ahora en la función de logout se requiere una función de callback para que funcione:
const logoutUser = (req, res) => {
req.logout( (err) => {
if(err) return next(err)
});
return res.redirect('/auth/login')
};
3. csurf.
A partir del 13 de Septiembre del 2022 csurf fue completamente deprecado por su creador (quedo obsoleto y fue retirado de NPM) debido a que tenia muchas vulnerabilidades en la seguridad y estaba muy desactualizado con los nuevos requerimientos, además de que los nuevos frameworks ya traen mejores sistemas de seguridad por defecto. Van a encontrar otras librerías con el nombre parecido, pero lo que mas se sugiere es usar la librería Helmet de express o la del framework que estén utilizando.
4. Función remove() de Mongoose.
En versiones más recientes de Mongoose, se ha considerado obsoleto, y se recomienda utilizar deleteOne() o deleteMany() para eliminar documentos.
En la constante de eliminarUrl del archivo homeController.js, sustituir "await url.remove();" por "await Url.deleteOne({ _id: id });". ... 2
tengo un error en el custom para validar el repite password, me dice que no puede leer una propiedad undefine en el body
views/register.hbs
<input type="password" name="repassword" placeholder="Repita Password", class="form-control mb-2" value="12345">
routes/auth.js
body("password", "Contraseña de mínimo 5 caracteres")
.trim()
.isLength({ min: 5 })
.escape()
.custom((value, { request }) => {
console.log(request.body.repassword)
if (value !== request.body.repassword) {
throw new Error("No coinciden las contraseñas");
} else {
return value;
}
})
response.json
{
"type": "field",
"value": "12345",
"msg": "Cannot read properties of undefined (reading 'body')",
"path": "password",
"location": "body"
}
]
no he podido validar la contraseña ...
Creo que hay un posible problema al usar la opcion .escape() en el password.
Si pongo un password como este: 111&111, al "escapar" el password lo transforma en 111&111.
Esto conlleva que el password "escapado" no coincide con el password de confirmacion (que no esta "escapado"), por lo que seria necesario "escapar" también el password de confirmación no aceptar el caracter '&' en el password
Al "escapar" el password en el login no se genera ningún problema
Si se hace una validación con RegEx, bien sea, en el modelo (directamente en el esquema o en un method personalizado o de alguna otra forma), es necesario que el RegEx admita el ';', de otra forma, al tener que validar "&" dará error.
Creo. ...
Hace unos días se actualizó Passport la versión 0.6.0 que mejora la robustez contra clases de ataques de fijación de sesión .
Por lo cual ahora la función de logout requiere una función de callback y quedaría así
const cerrarSesion = (req, res) => {
req.logout(function (err) {
if (err) {
return next(err);
}
res.redirect("/auth/login");
});
}; ... 18
Un componente valor nos vemos desde Chile 1
tengo un error en el custom para validar el repite password, me dice que no puede leer una propiedad undefine en el body
views/register.hbs
<input type="password" name="repassword" placeholder="Repita Password", class="form-control mb-2" value="12345">
routes/auth.js
body("password", "Contraseña de mínimo 5 caracteres")
.trim()
.isLength({ min: 5 })
.escape()
.custom((value, { request }) => {
console.log(request.body.repassword)
if (value !== request.body.repassword) {
throw new Error("No coinciden las contraseñas");
} else {
return value;
}
})
response.json
{
"type": "field",
"value": "12345",
"msg": "Cannot read properties of undefined (reading 'body')",
"path": "password",
"location": "body"
}
]
no he podido validar la contraseña ...
Creo que hay un posible problema al usar la opcion .escape() en el password.
Si pongo un password como este: 111&111, al "escapar" el password lo transforma en 111&111.
Esto conlleva que el password "escapado" no coincide con el password de confirmacion (que no esta "escapado"), por lo que seria necesario "escapar" también el password de confirmación no aceptar el caracter '&' en el password
Al "escapar" el password en el login no se genera ningún problema
Si se hace una validación con RegEx, bien sea, en el modelo (directamente en el esquema o en un method personalizado o de alguna otra forma), es necesario que el RegEx admita el ';', de otra forma, al tener que validar "&" dará error.
Creo. ...
1. nanoid.
nanoid esta en su versión 4.0.2 y ahora sólo funciona con ES Modules, para usar con Common JS se debe usar la versión 3x, instalar con: npm install --save nanoid@3.
2. Función logout() de passport.
(Esto se lo copio a un compañero que escribió en los comentarios llamado @chistoperez).
passport se actualizó la versión 0.6.0 y ahora en la función de logout se requiere una función de callback para que funcione:
const logoutUser = (req, res) => {
req.logout( (err) => {
if(err) return next(err)
});
return res.redirect('/auth/login')
};
3. csurf.
A partir del 13 de Septiembre del 2022 csurf fue completamente deprecado por su creador (quedo obsoleto y fue retirado de NPM) debido a que tenia muchas vulnerabilidades en la seguridad y estaba muy desactualizado con los nuevos requerimientos, además de que los nuevos frameworks ya traen mejores sistemas de seguridad por defecto. Van a encontrar otras librerías con el nombre parecido, pero lo que mas se sugiere es usar la librería Helmet de express o la del framework que estén utilizando.
4. Función remove() de Mongoose.
En versiones más recientes de Mongoose, se ha considerado obsoleto, y se recomienda utilizar deleteOne() o deleteMany() para eliminar documentos.
En la constante de eliminarUrl del archivo homeController.js, sustituir "await url.remove();" por "await Url.deleteOne({ _id: id });". ... 2
Hace unos días se actualizó Passport la versión 0.6.0 que mejora la robustez contra clases de ataques de fijación de sesión .
Por lo cual ahora la función de logout requiere una función de callback y quedaría así
const cerrarSesion = (req, res) => {
req.logout(function (err) {
if (err) {
return next(err);
}
res.redirect("/auth/login");
});
}; ... 18
Un componente valor nos vemos desde Chile 1
1. nanoid.
nanoid esta en su versión 4.0.2 y ahora sólo funciona con ES Modules, para usar con Common JS se debe usar la versión 3x, instalar con: npm install --save nanoid@3.
2. Función logout() de passport.
(Esto se lo copio a un compañero que escribió en los comentarios llamado @chistoperez).
passport se actualizó la versión 0.6.0 y ahora en la función de logout se requiere una función de callback para que funcione:
const logoutUser = (req, res) => {
req.logout( (err) => {
if(err) return next(err)
});
return res.redirect('/auth/login')
};
3. csurf.
A partir del 13 de Septiembre del 2022 csurf fue completamente deprecado por su creador (quedo obsoleto y fue retirado de NPM) debido a que tenia muchas vulnerabilidades en la seguridad y estaba muy desactualizado con los nuevos requerimientos, además de que los nuevos frameworks ya traen mejores sistemas de seguridad por defecto. Van a encontrar otras librerías con el nombre parecido, pero lo que mas se sugiere es usar la librería Helmet de express o la del framework que estén utilizando.
4. Función remove() de Mongoose.
En versiones más recientes de Mongoose, se ha considerado obsoleto, y se recomienda utilizar deleteOne() o deleteMany() para eliminar documentos.
En la constante de eliminarUrl del archivo homeController.js, sustituir "await url.remove();" por "await Url.deleteOne({ _id: id });". ... 2
tengo un error en el custom para validar el repite password, me dice que no puede leer una propiedad undefine en el body
views/register.hbs
<input type="password" name="repassword" placeholder="Repita Password", class="form-control mb-2" value="12345">
routes/auth.js
body("password", "Contraseña de mínimo 5 caracteres")
.trim()
.isLength({ min: 5 })
.escape()
.custom((value, { request }) => {
console.log(request.body.repassword)
if (value !== request.body.repassword) {
throw new Error("No coinciden las contraseñas");
} else {
return value;
}
})
response.json
{
"type": "field",
"value": "12345",
"msg": "Cannot read properties of undefined (reading 'body')",
"path": "password",
"location": "body"
}
]
no he podido validar la contraseña ...
Creo que hay un posible problema al usar la opcion .escape() en el password.
Si pongo un password como este: 111&111, al "escapar" el password lo transforma en 111&111.
Esto conlleva que el password "escapado" no coincide con el password de confirmacion (que no esta "escapado"), por lo que seria necesario "escapar" también el password de confirmación no aceptar el caracter '&' en el password
Al "escapar" el password en el login no se genera ningún problema
Si se hace una validación con RegEx, bien sea, en el modelo (directamente en el esquema o en un method personalizado o de alguna otra forma), es necesario que el RegEx admita el ';', de otra forma, al tener que validar "&" dará error.
Creo. ...