lundi 15 avril 2019

Encrypting password when passing all properteis through a request object

I have a user registration method. I'm trying to clean my code my passing properties from my request class to the create method.

This is my register function

public function register(CreateUserRequest $createUser) 
    {        
        $user = User::create($createUser->validated());
        return response()->json($user);
    }

The is my CreateUserRequest class

class CreateUserRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'first_name'            => 'required',
            'last_name'             => 'required',
            'username'              => 'required',
            'email'                 => 'required|email|unique:users,email',
            'phone_number'          => 'required|unique:users,phone_number|phone:IE',
            'password'              => 'required',
        ];
    }

    public function messages()
    {
        return [
            'phone_number.phone' => 'The phone number is invalid.',
        ];
    }

This works perfectly, except that my password is stored in plain text. How do I encrypt it using bcrypt without having to use write each property to be stored in the create method.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire