У меня странная проблема с использованием Laravel Socialite для входа пользователей через Google API.
Все конфигурации кажутся нормальными и обычными, но я все время получаю ошибку Missing required parameter: client_id
. Мало того, иногда я пытался снова, и ошибка становилась Missing required parameter: redirect_uri
, несмотря на то, что были указаны все эти параметры.
Вот как это устроено:
service.php
'google' => [
'client_id' => 'xxxxxxxxxx-x98asxxxx913ofk5tqvgq7lqfpgdi5u2.apps.googleusercontent.com',
'client_secret' => 'mklOWJFhpbCzTKxxxx-xxxx',
'redirect' => 'http://myapp.com/auth/google/callback'
],
routes.php
Route::get('/auth/{social_channel}', 'Auth\AuthController@redirect_to_provider');
Route::get('/auth/{social_channel}/callback', 'Auth\AuthController@handle_provider_callback');
AuthController.php
/**
* Redirect the user to the Google authentication page.
*
* @return Response
*/
public function redirect_to_provider($social_channel)
{
return Socialite::driver($social_channel)->redirect();
}
/**
* Obtain the user information from GitHub.
*
* @return Response
*/
public function handle_provider_callback($social_channel, SocialAccountService $service)
{
$user = $service->create_or_get_user($social_channel, Socialite::driver($social_channel)->user());
Auth::login($user);
return redirect()->to('/go');
}
У меня работает вход в Facebook, просто проблема входа в Google - упрямая и причудливая.
Приложение развернуто на Forge (Ubuntu, Nginx).
Может ли кто-нибудь вообще заметить в этом что-то не так?