I had the same problem.
I was dynamically creating my redirect url (in config/services.php) and had set it as http://.mysite.com instead of http://mysite.com
Having www.mysite.com or other similar variations might cause the same problem.
Good luck.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Using this tutorial on Laracast (Laravel 5.0 - Socialite), specifically until min 12.11, I have successfully setup everything. However, I am using Laravel 5.1
Defined my route but currently commented out the callback provider, as I am just trying to fetch the user details through taken token:
Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
//Route::get('auth/facebook/aaa', 'Auth\AuthController@handleProviderCallback');
Added necessities in config>services.php:
'facebook' => [
'client_id' => '##',
'client_secret' => env('FB_SECRET_ID'),
'redirect' => 'http://laratest.dev/auth/facebook',
],
I decided to return to the same page (auth/facebook) for now. That's why I have set the return as domain.devv/auth/facebook for testing.
In my AuthController.php, I set:
public function redirectToProvider(AuthenticateUser $authenticateUser, Request $request)
{
return $authenticateUser->execute($request->has('code'));
}
And finally, in my AuthenticateUser.php:
use Illuminate\Contracts\Auth\Guard; (PS. I changed Authenticator to Guard)
class AuthenticateUser {
private $users;
private $socialite;
private $auth;
public function __construct(UserRepository $users, Socialite $socialite, Guard $auth)
{
$this->users = $users;
$this->socialite = $socialite;
$this->auth = $auth;
}
public function execute($hasCode)
{
// dd($hasCode) *First dd
if ( ! $hasCode) return $this->getAuthorizationFirst();
// $user = $this->socialite->driver('facebook')->user();
// dd($hasCode) *Second dd
// dd($user) *Third dd
}
private function getAuthorizationFirst()
{
return $this->socialite->driver('facebook')
->scopes(['public_profile', 'email'])->redirect();
}
}
Now, I am clicking Login with Facebook link and getting directed to domain.dev/auth/facebook?code=943299043290...
When I use only the *First dd (with all the other commented lines are commented)- it returns false.
When I use the only the *Second dd (with commenting the line $user = $this->socialite->driver('facebook')->user();), it returns true.
So everything is working perfect and goes through execute(), then through getAuthorizationFirst(). Finally, returns back to execute() with the taken token which is also contained in the link (domain.dev/auth/facebook?code=943299043290...).
My problem arises here:
As soon as I uncomment $user = $this->socialite->driver('facebook')->user();, I am getting an error:
ClientException in Middleware.php line 69: Client error: 400
1.in /Applications/MAMP/htdocs/laratest/vendor/guzzlehttp/guzzle/src/Middleware.php line 69
2. at Middleware::GuzzleHttp{closure}(object(Response)) in Promise.php line 199
3. at Promise::callHandler('1', object(Response), array(object(Promise), object(Closure), null)) in Promise.php line 152
4. at Promise::GuzzleHttp\Promise{closure}() in TaskQueue.php line 60
5. at TaskQueue->run() in CurlMultiHandler.php line 96
This line ($user = $this->socialite->driver('facebook')->user();) is not working for me for some reasons (while it does in the tutorial (min 12.11 for 15-second brief explanation) [.
Whenever I use $user = $this->socialite->driver('facebook')->user();, I receive the error ClientException in Middleware.php line 69: Client error: 400 and, of course, I can't get dd($user).
To add, when I see the ClientException error, the link is still with the code: (domain.dev/auth/facebook?code=943299043290...)
[videoLink: https://laracasts.com/series/whats-new-in-laravel-5/episodes/9 ]
Please or to participate in this conversation.