No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
16H
36M
44S

Cifrado de contrase帽a

24/38
Recursos

Aportes 4

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

驴Todo esto no sobra si usamos el atributo encrypt en el modelo ?
https://sailsjs.com/documentation/concepts/models-and-orm/attributes#encryption-at-rest

Sails tiene algo parecido a las se帽ales de Django que permite implementar acciones antes o despu茅s de que se guarde un usuario. Es decir, podr铆amos guardar la contrase帽a en texto plano y sails autom谩ticamente se encarga de hashearla en el momento justo antes de guardarla en la base de datos. Dejo aqu铆 el enlace a la documentaci贸n https://sailsjs.com/documentation/concepts/models-and-orm/lifecycle-callbacks#example

Yo recomendar铆a crear un helper:

const bcrypt = require('bcrypt');

module.exports = {
    friendlyName: 'Generate password',
    description: 'Generate password',

    inputs: {
      password: {
        type: 'string',
        required: true
      }
    },
  
    exits: {},
  
    fn: async function (inputs, exits) {
      const hash = bcrypt.hashSync(inputs.password, 10);
      return exits.success(hash);
    }
  
  };

Y en tu controller:

module.exports = async function signup (req, res) {
    const email = req.param('email');
    const pass = req.param('password');
    
    // No olvides tus validaciones...

    const hash = await sails.helpers.generatePassword(pass);
  
    var user = await User.create({
      email: email, password: hash
    }).fetch();
  
    return res.status(201).send("OK");
  };