Шифрование пароля при прохождении всех свойств через объект запроса - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть метод регистрации пользователя.Я пытаюсь очистить свой код, передав мои свойства из класса запроса в метод create.

Зарегистрировать метод

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

    return response()->json($user);
}

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.',
        ];
    }
}

Это прекрасно работает, за исключением того, что мой пароль хранится в виде обычного текста.Как зашифровать его с помощью bcrypt (), не записывая каждое свойство, которое будет сохранено в методе создания?

1 Ответ

0 голосов
/ 16 апреля 2019

Сначала я получу данные, обновлю пароль для хеширования, затем создаю пользователя.

public function register(CreateUserRequest $createUser) 
    {        
        $userData = $createUser->validated();
        $userData['password'] = Hash::make($userData['password']);
        $user = User::create($userData);
        return response()->json($user);
    }

Примечание: не забудьте импортировать Illuminate \ Support \ Facades \ Hash;

use Illuminate\Support\Facades\Hash;

...