Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 16.03.2021 14:24:02

Проверить старый пароль

Приветствую!

подскажите как проверить старый пароль? я создал Request и в методе rules написал правила, то что я нагуглил но это не работает. Валидатор говорит что я не верный пароль указываю

return [
            'old' => [Auth::user()->password],
            'old_password' => ['required', 'confirmed:old'],
            'password' => 'required|min:8',
            'password_confirmation' => 'required|same:password'
        ];

Изменено kull88 (16.03.2021 14:27:39)

Не в сети

#2 16.03.2021 15:26:23

Re: Проверить старый пароль

в целях безопасности пароли не хранятся в БД! хранится некая вычисленная от пароля величина. поэтому сравнивать пароль с ней буквально нельзя. пользуйся методами из документации.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 16.03.2021 20:09:35

Re: Проверить старый пароль

в целях безопасности пароли не хранятся в БД! хранится некая вычисленная от пароля величина. поэтому сравнивать пароль с ней буквально нельзя. пользуйся методами из документации.

Это я понимаю. Как я могу этот хеш сверить через Request

public function rules()
    {

        return [
            'old' => [Auth::user()->password],
            'old_password' => ['required', 'confirmed:old'],
            'password' => 'required|min:8',
            'password_confirmation' => 'required|same:password'
        ];
    }

    public function messages()
    {
        return [
            'old_password.required' => 'Укажите текущий пароль',
            'old_password.confirmed' => 'Не верный текущий пароль',
            'password_confirmation.same' => 'Значения "Новый" и "Повторить пароль" должны совпадать',
        ];
    }

надо как то в строку 'old_password' => ['required', 'confirmed:old'] подставить зашифрованный пароль

Изменено kull88 (16.03.2021 20:10:37)

Не в сети

#4 16.03.2021 20:52:21

Re: Проверить старый пароль

В шестой версии нашел инфу только или глазки ибобо )))

Вопрос решен так

return [
            'old_password' => ['required', 'password'],
            'password' => ['required', 'min:8', 'confirmed'],
            'password_confirmation' => ['required', 'same:password'],
        ];

Изменено kull88 (16.03.2021 20:54:55)

Не в сети

Подвал раздела