TransWikia.com

Como cifrar un password actualizado

Stack Overflow en español Asked by RastaBlue on December 5, 2021

Estoy trabajando con shinobi y laravelCollective en laravel 6. Pasa que estoy haciendo la funcion update en el CRUD algo asi:

public function update(Request $request, User $user)
{
    $user->update($request->all());

    return redirect()->route('users.index')
            ->with('info', 'Usuario actualizado con exito');
}

Esto me actualiza correctamente al usuario, sin embargo pierdo la capacidad de iniciar sesion, pues tambien se actualiza el password pero no se cifra, por lo que el auth me manda un mensaje de error de clave erronea. Hay una manera de cifrar la clave usando esa sintaxis para crear la funcion? o unicamente se puede de la siguente manera:

public function update(Request $request, $id)
{

    $users = AppUser::findOrFail($id);
    $users->direc = $request->direc;
    $users->tlf = $request->tlf;
    $users->email = $request->email;
    $users->password = Hash::make($request->password);

    $users->save();

    return view('users.index');
}

ingresando dato por dato y usando el Hash::make.

2 Answers

Considera manejar esto a través de un mutator el cual dará formato a un atributo del modelo que en este caso es User.

Dentro de tu modelo User.php define el siguiente setter

class User extends Model
{
    public function setPasswordAttribute($value)
    {
        $this->attributes['password'] = bcrypt($value);
    }
}
  • En el nombre del método añadimos el nombre de la propiedad que deseamos modificar justo antes de que se mande a la base de datos; en este caso es password
  • Para hacer el hash de la contraseña usamos el helper bcrypt

Referencia

Answered by BetaM on December 5, 2021

Básicamente tienes que usar el facade Hash para "encriptar" la contraseña, con su método make, de lo contrario deberías, cualquier caracteres que envías, en lo tomara como clave encriptada, y te lo actualizara

Answered by Danny Escalante on December 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP