Сброс аутентификации Laravel - PullRequest
0 голосов
/ 31 августа 2018

У меня проблемы с тем, как мне получить идентификатор пользователя на основе токена, сгенерированного laravel? Я не очень знаком с framewrok, кто-нибудь может мне помочь?

class ForgotPasswordController extends Controller
{
    use SendsPasswordResetEmails;

    /**
    * Create a new controller instance.
    *
    * @return void
    */
    public function __construct()
    {
        $this->middleware('guest');
    }
}

ResetPasswordController

class ResetPasswordController extends Controller
{

    use ResetsPasswords;

    protected $redirectTo = '/login';

    public function __construct()
    {

        $this->middleware('guest');
    }

    protected function guard()
    {
        return Auth::guard('user');
    }

    public function broker()
    {
        return Password::broker('users');
    }

    public function showResetForm(Request $request, $token = null)
    {
        var_dump($request->email);
        var_dump( $request->token);

        return view('auth.passwords.reset')->with(
            ['token' => $token, 'email' => $request->email]
        );
    }
}

как обновить пароль? У меня есть только токен, полученный по электронной почте?

1 Ответ

0 голосов
/ 01 сентября 2018

Отметьте это, чтобы лучше понять, как работает laravel auth.

  1. Создайте леса авторизации с помощью: php artisan make:auth
  2. Запустить созданные миграции: php artisan migrate
  3. Проверьте список маршрутов с помощью php artisan route:list, вы можете видеть, что маршруты также были созданы при выполнении команды make:auth.
  4. Обратите внимание на контроллеры и методы, которые вызывают маршруты Auth.
  5. Перейти к файлу маршрутов web.php. Посмотрите Auth::routes();, это сгенерирует маршруты по умолчанию для Laravel Auth, если вам не нужны все em, прокомментируйте или удалите эту строку и добавьте необходимые строки.
  6. Если вы обратили внимание на контроллеры и методы, вы можете увидеть, что вызывалось на каждом маршруте. В данном конкретном случае, я думаю, вы будете искать ResetPasswordController, который использует ResetsPasswords из vendor/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php, там вы можете увидеть метод resets, который вам придется переопределить на вашем ResetPasswordController.
...