• Inicio
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso Profesional de Backend!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso Profesional de Backend

Video Creación de usuarios

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

¡Desbloquea vídeos ilimitados! Sube a Premium

Necesitas premium para acceder a este contenido. Suscríbete por $26USD al mes

Suscribirme
  • check_circle_outline
    Módulo 1 | 8 clases

    Introducción

    expand_more
  • check_circle_outline
    Módulo 2 | 19 clases

    Http

    expand_more
  • check_circle_outline
    Módulo 3 | 11 clases

    Bases de Datos

    expand_more
  • check_circle_outline
    Módulo 4 | 24 clases

    Buenas prácticas de desarrollo.

    expand_more
  • check_circle_outline
    Módulo 5 | 14 clases

    Autenticación

    expand_more
    • done_all

      Clase 1

      Explicando cómo funciona la autenticación de usuarios

    • done_all

      Clase 2

      Formulario de registro

    • done_all

      Clase 3

      Modelos y migración de usuarios

    • done_all

      Clase 4

      Validaciones

    • done_all

      Clase 5

      Validaciones en la base de datos y el modelo

    • done_all

      Clase 6

      Encriptar el password

    • done_all

      Clase 7

      Creación de usuarios

    • done_all

      Clase 8

      Inicio de sesión

    • done_all

      Clase 9

      Autenticación

    • done_all

      Clase 10

      Manejo de sesiones

    • done_all

      Clase 11

      Qué es un middleware

    • done_all

      Clase 12

      Buscar usuario autenticado

    • done_all

      Clase 13

      Cerrar sesión

    • done_all

      Clase 14

      Middlewares para protección de rutas

  • check_circle_outline
    Módulo 6 | 14 clases

    Relaciones en la base de datos.

    expand_more
  • check_circle_outline
    Módulo 7 | 5 clases

    Websockets (realtime)

    expand_more
  • check_circle_outline
    Módulo 8 | 4 clases

    Entorno de producción

    expand_more
  • check_circle_outline
    Módulo 9.-

    Examen del curso

    expand_more
    • done_all

      Examen

      Examen final del curso

9 comentario(s)

@jesusgarnica7469

01 Agosto 22

more_vert
  • Resuelta

Al momento de crear mi usuario tengo este problema:

{"name":"SequelizeDatabaseError","parent":{"errno":1,"code":"SQLITE_ERROR","sql":"INSERT INTO Users (id,email,password_hash,createdAt,updatedAt) VALUES (NULL,$1,$2,$3,$4);"},"original":{"errno":1,"code":"SQLITE_ERROR","sql":"INSERT INTO Users (id,email,password_hash,createdAt,updatedAt) VALUES (NULL,$1,$2,$3,$4);"},"sql":"INSERT INTO Users (id,email,password_hash,createdAt,updatedAt) VALUES (NULL,$1,$2,$3,$4);","parameters":{}}

Básicamente me sale error, pero no encuentro el porque, creo que el error esta en el modelo, lo muestro:

'use strict'; const bcrypt=require("bcrypt"); module.exports = (sequelize, DataTypes) => { const User= sequelize.define('User',{ email:{ type: DataTypes.STRING, unique: true, allowNull:false }, password_hash: DataTypes.STRING, password:DataTypes.VIRTUAL },{}); User.beforeCreate((user,options)=>{ return new Promise((res,rej)=>{ if(user.password){ bcrypt.hash(user.password,10,function(error,hash){ user.password_hash=hash; res(); }) } }); }); return User; };

Mario Cares

19 Julio 21

1
more_vert
  • Resuelta
En mi caso (año 2021) sequelize me entregaba el modelo de distinta forma. Por lo que la encriptación tuve que dejarla así (archivo models/user.js):
'use strict';

const bcrypt = require('bcrypt');

const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class Usuario extends Model {
    static associate(models) {
      // define association here
    }
  };
  Usuario.init({
    email: {
      type: DataTypes.STRING,
      unique: true,
      allowNull: false
    },
    password: {
      type: DataTypes.STRING,
    },
    pass_tmp: DataTypes.VIRTUAL
  }, {
    hooks: {
      beforeCreate: async (user, options) => {
        const hash2 = await bcrypt.hash(user.pass_tmp, 10);
        user.password = hash2;
      }
    },
    sequelize,
    modelName: 'Usuario',
  });
  return Usuario;
};
Ver respuestas (1)

Ever Alfredo Sorto Ayala

27 Junio 20

more_vert
  • Resuelta
hola me podiran explicar como : 

User.create(data).then(result=>{
            res.json(result);
        }).catch((err)=>{
            res.json(err)
        });

se interconecta con User.beforeCreate(function (user, options) {
   
   return new Promise((res,rej)=>{
    if (user.password) {
      bcrypt.hash(user.password, 10, function (error, hash) {
        user.password_has = hash;
        res();
      })
    };
   });
  });


Ver respuestas (1)

Alexander González Blanco

23 Junio 20

more_vert
  • Resuelta
Hola!

me pueden ayudar con este error cuando le doy a ejecutar

module.js:538
    throw err;
    ^

Error: Cannot find module 'bcrypt'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/mkinnovations/Desktop/codigo-facilito/04-desarrollo-javascrypt-fullstack/02-curso-profesional-backend/curso-backend/models/user.js:3:16)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Sequelize.import (/Users/mkinnovations/node_modules/sequelize/lib/sequelize.js:481:62)
    at fs.readdirSync.filter.forEach.file (/Users/mkinnovations/Desktop/codigo-facilito/04-desarrollo-javascrypt-fullstack/02-curso-profesional-backend/curso-backend/models/index.js:24:38)
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (/Users/mkinnovations/Desktop/codigo-facilito/04-desarrollo-javascrypt-fullstack/02-curso-profesional-backend/curso-backend/models/index.js:23:4)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
Ver respuestas (1)

@karuroanime

28 Mayo 20

more_vert
  • Resuelta
El navegador me arroja este error: Cannot POST /signup
Ver respuestas (2)

@daramirez9898

28 Mayo 20

more_vert
  • Resuelta
me da este error
 
    at processImmediate (internal/timers.js:456:21) {
  errors: [
    ValidationErrorItem {
      message: 'User.email cannot be null',
      type: 'notNull Violation',
      path: 'email',
      value: null,
      origin: 'CORE',
      instance: [User],
      validatorKey: 'is_null',
      validatorName: null,
      validatorArgs: []
    }
  ]
}

Wilmer Medina

06 Diciembre 19

1
more_vert
  • Resuelta
En la definición de la migración y el modelo coloqué la restricción allowNull = false para el campo password_h, de esta forma al  momento de ejecutarse el hook y User.create me arroja un error que dice que  password_h no puede ser nulo, por lo tanto no se crea el registro en la base de datos, luego cambie la restricción a allowNull = true y ahora se ejecuta el hook y User.create  normalmente guardando el registro y hasheando la contraseña, podrían explicar este comportamiento ? 

Juan Pedro Santillan

23 Marzo 19

more_vert
  • Resuelta
tengo problemas al crear un usuario, específicamente a la hora de ejecutar la instrucción user.create. se queda ciclado, en la consola nunca aparece la instrucción sql de insertar registro.
Ver respuestas (1)

@JuanING

25 Octubre 18

more_vert
  • Resuelta
Muchas gracias por el video, especialmente por el uso de Promise.
1. ¿Por qué se utiliza una variable virtual en vez de sobreescribir la variable existente STRING?
2. En un tutorial vi el uso de bcryptjs con la implementación del siguiente código. No sé si sea lo mismo pero es un dato curioso.
bcryptjs.genSalt(10,(err,salt) => {
          bcryptjs.hash(user.password,salt,(err,hash) => {
              if(err) console.log(err);
              else {
                user.password = hash;
                res();
              }
          });
        });
3. Saben por qué al crear dos usuarios diferentes con la misma contraseña tienen un hash diferente? En el tutorial que vi hacen uso de passport para el login y me sorprende que exista un match entre lo que ingresa el usuario con lo registrado en la base de datos a través del hash.

Gracias de nuevo!
Ver respuestas (3)

Clase 58

Creación de usuarios

arrow_back Siguiente arrow_forward

58/99

Curso Profesional de Backend