Я использую базовую аутентификацию Laravel, когда незарегистрированный пользователь пытается получить доступ к ссылке, например: http://myapp.com/financial/?email=john@web.com
Он перенаправляется на http://myapp.com/login, поскольку пользователь еще не зарегистрирован.
У меня такой вопрос: как я могу получить электронное письмо с параметром url исходной ссылки (http://myapp.com/financial/?email=john@web.com) пользователя, попытавшегося получить доступ на моей странице входа в систему?
Obs: im, используя Laravel 5.7
Посмотрите в App\Http\Middleware\Authenticate::redirectTo($request). Вы можете настроить это в соответствии с вашей ситуацией. ( Документы Laravel для Middleware ) Например:
App\Http\Middleware\Authenticate::redirectTo($request)
protected function redirectTo($request) { if (! $request->expectsJson()) { if ($request->has('email')) { return route('login', ['email' => $request->email]); } else { return route('login'); } } }
В вашем контроллере просто попробуйте так:
$email = request()->input('email'); // null if not set // do your things // then redirect
https://laravel.com/docs/5.7/requests#accessing-the-request
Вы можете легко получить его, набрав $_GET
$_GET
$email=""; if(isset($_GET['email']) && !empty($_GET['email'])){ $email=$_GET['email']; }
Laravel также предоставляет функцию:
$email = Input::get('email');
вы можете использовать объект запроса как \Request::segment(1) или использовать объект ввода как Input::get('email', false);
\Request::segment(1)
Input::get('email', false);
Если вы хотите получить URL после перенаправления, вы можете использовать заголовок referer вашего запроса. Он будет содержать адрес, к которому обращались до перенаправления.
referer
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer
Заголовок запроса Referer содержит адрес предыдущей веб-страницы, с которой ссылка на текущийзапрошенная страница была соблюдена. Заголовок Referer позволяет серверам определять, откуда люди их посещают, и может использовать эти данные, например, для аналитики, ведения журнала или оптимизированного кэширования.