Всякий раз, когда я пытаюсь войти в свое приложение, используя oauth Google, на моем компьютере все работает без проблем, с Apache и PHP 7.0.
Однако всякий раз, когда я пытаюсь сделать то же самое на сервере (Nginx, PHP 7.0), я никогда не получаю code
, который можно использовать для получения токена доступа.
Имейте в виду, это устаревшее приложение, но все должно работать так же, как в прошлом, когда приложение работало на Apache и PHP 5.6. Они также работают с Apache и PHP 7.0 локально, так что я думаю, что единственное отличие на самом деле nginx.
public function doGoogleLogin()
{
$googleService = Artdarek\OAuth\Facade\OAuth::consumer('Google');
$code = Input::get('code');
if (!empty($code)) {
$apiKey = ...
$token = $googleService->requestAccessToken($code);
$me = json_decode($googleService->request('https://www.googleapis.com/oauth2/v1/userinfo'), true);
...
} else {
// Send me to google's account picker page
$url = $googleService->getAuthorizationUri();
return Redirect::to((string) $url);
}
}
Единственное, что я знаю, это другое - это серверный движок. Есть ли что-то, что nginx может делать с запросом, который делает мой параметр code
пустым?