Я настраиваю обратный вызов OAuth2, и Laravel, по-видимому, лишает все параметры, переданные через URL (иначе GET). Это включает Input::get()
, Input::all()
, а также общий PHP $_GET
и даже $_SERVER['QUERY_STRING']
.
Моя первоначальная реакция была ошибкой конфигурации Nginx. Но я могу настроить тестовый PHP-файл в моем каталоге laravel / public, который просто:
<?php var_dump($_GET)
Нажатие /test.php?code=123456ABCD
генерирует ожидаемый дамп одного массива значений.
Затем, на маршрутах Laravel, я создаю,
Route::get('/testcallback', function(){ var_dump(Input::all()); });
/testcallback?code=123456ABCD
генерирует сброс пустого массива.
Есть ли что-то, что я делаю в своей конфигурации или маршрутах, которые могут заставить Laravel лишить параметры GET?
Благодарю.
В конце концов, это был Nginx. Оказывается, символическая ссылка между моими сайтами – доступная, а узлы с сайтами – сломанные, и (хорошо документированные) решения проблемы query_string не протекали.
try_files $uri $uri/ /index.php?$query_string;
Это было исправлено, просто удалив сайт с поддержкой сайтов и перезапустив его, а затем перезапустив Nginx.
sudo rm /etc/nginx/sites-enabled/{site-name} sudo ln -s /etc/nginx/sites-available/{site-name} /etc/nginx/sites-enabled/{site-name} sudo nginx -t sudo service nginx reload