Код Google Oauth пуст на сервере nginx; работает локально с Apache - PullRequest
0 голосов
/ 10 марта 2020

Всякий раз, когда я пытаюсь войти в свое приложение, используя 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 пустым?

...