Laravel 7 заставить пользователя ввести пароль - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу знать, как я могу заставить пользователя повторно ввести свой пароль при определенном действии маршрута?

Допустим, если пользователь хочет редактировать продукт до того, как произойдет процесс сохранения, он должен ввести свой пароль и, если он было правильно, тогда сохранение разрешено.

Есть ли промежуточное ПО по умолчанию для пароля в laravel 7? или я должен сделать сам? Что вы предлагаете?

Обновление

Я нашел этот , но он работает только на веб-маршрутах, мне нужно то же самое, чтобы работать на маршрутах API.

Проблема с этим промежуточным программным обеспечением заключается в том, что он, за исключением sessions, доступен только в веб-промежуточном программном обеспечении. Я попытался добавить \Illuminate\Session\Middleware\StartSession::class, в api связующее ПО, но все еще получаю эту ошибку

RuntimeException: хранилище сеансов не установлено по запросу.

1 Ответ

0 голосов
/ 18 апреля 2020

Почему бы просто не переписать shouldConfirmPassword() метод?

Сессия используется только для проверки, когда был подтвержден пароль при. Если вам требуется подтверждение пароля каждый раз, просто перепишите метод, чтобы вернуть true:

    /**
     * Determine if the confirmation timeout has expired.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function shouldConfirmPassword($request)
    {
        return true;
        //$confirmedAt = time() - $request->session()->get('auth.password_confirmed_at', 0);

        //return $confirmedAt > config('auth.password_timeout', 10800);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...