Проверка подлинности google в laravel5.7 php и ошибка «отсутствует обязательный параметр: код» 400

GuzzleHttp \ Exception \ ClientException (400) Client error: POST https://accounts.google.com/o/oauth2/token resulted in a 400 Bad Request response: { "error": "invalid_request", "error_description": "Missing required parameter: code" }

ты про {{csrf_field }}?

Bonish Koirala 31.10.2018 12:11

Дубликат stackoverflow.com/questions/52594661/…

simonecosci 31.10.2018 12:13

Не дублировать, поскольку они изменили части конфигурации (в частности, что необходимо в config / app.php) между Laravel 5.6 и 5.7.

Nathanael 27.01.2019 09:40
4
3
2 217
3

Ответы 3

Перейти к поставщик \ laravel \ socialite \ src \ Two \ GoogleProvider.php

Открыть GoogleProvider.php и удалите профиль из $ scopes protected $scopes = [ 'openid', 'email', ]; И проверьте, что ваш код сейчас работает.

Когда я удалил профиль, я не вижу ошибки, но параметры имени и псевдонима становятся нулевыми.

Rejaul 25.06.2019 07:54

Столкнулся с той же проблемой из-за неправильной конфигурации в nginx

Судо нано / и т. д. / nginx / сайты-доступные / по умолчанию

должен быть,

location / {
try_files $uri $uri/ /index.php?$query_string;
}

это было,

location / {
try_files $uri $uri/ /index.php?query_string;
}

заменил "query_string" на "$ query_string", query_string не был определен как переменная в моем случае.

Я нашел решение. Ошибка означает, что параметр кода не найден в запрошенном URL. Вы можете протестировать с любыми другими аргументами получения URL. Данные ваших аргументов не будут найдены. Вам не хватает того, что ваш сервер не передает параметр запроса в любой форме запроса. Если вы используете nginx, попробуйте

location / {
            try_files $uri $uri/ /index.php?$args;                
       }

Другие вопросы по теме