PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Saturday, March 12, 2022

[FIXED] Laravel Socialite error: "An active access token must be used to query information about the current user."

 March 12, 2022     facebook, facebook-php-sdk, laravel, laravel-5.2, php     No comments   

Issue

I'm using Socialite to authenticate my users via Facebook. However, I can't get it to work. I followed this tutorial, but I get the following error:

enter image description here

I looked everywhere and tried whatever, but I can't get it to work. Here's my code:

In services.php:

'facebook' => [
    'client_id' => '[My App ID]',
    'client_secret' => '[My App Secret]',
    'redirect' => 'http://localhost:8000/auth/facebook/callback/',
],

My routes:

Route::group(['middleware' => ['web', 'requestlog']], function () {   
    Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
    Route::get('auth/facebook/callback/', 'Auth\AuthController@handleProviderCallback');
});

Then in my AuthController:

use Laravel\Socialite\Facades\Socialite;

public function redirectToProvider()
{
    return Socialite::driver('facebook')->redirect();
}

public function handleProviderCallback()
{
    try {

        $providerUser = Socialite::driver('facebook')->user();
        dd('yay it worked!');

      } catch (RequestException $e) {

      dd($e->getResponse()->json());

    }
}

Then I have these settings in FB:

enter image description here

enter image description here

What is going wrong? I followed all the necessary steps as far as I know. I don't get what's wrong here. I hope I provided all the necessary information!

Edit

Here's what the url looks like on the page where the error displays: http://localhost:8000/auth/facebook/callback?code=AQBtnKEqZgImLqN7f3hETe9GptgzFH71sXrV5qmv8Rpo6Oj5-4rl8mBjFPbfkBtiV8w9atV7X4OrWfHyalJkXU-k6lkEv1bly6v5Qxm2es-_RRp8gfoSWOZwjqE34Rvq6__L3aEOERPEa9LSBk_rKVP_cYGZoQeAydRLQUZVGdr_p1SuE1hRZIvZTAZ-zorkPoyyCDNZtDEVFHGRJt_c3kTf_AKE97FVemrXrUDzxaX-rvovKtfGF3u4CvAIt5pe4g7zD30jAWF78ZgjjPpr21MdaGwP5V0tc8g84oz0dR5Nbit7sKeUE-XblWFrQCIKfqs-OJ6rcuzw7iPTx6xrQ9Ev&state=4f924a9974207482c6fce24c1d74705c6688adc0#_=_

I also tried in incognito mode, removed cookies and so on. Same result...


Solution

I didn't want to mess with access tokens or other API's because I don't think that would be a solution to my problem. But now (after I don't know how long...) I got it to work! For whoever has this problem as well; I did the following steps which out of luck made it work:

  1. I deleted socialite from composer.json and updated it.
  2. I reinstalled socialite. I added the following line in composer.json: "laravel/socialite": "2.*".
  3. Then when I ran the snippet I got the following error: ErrorException in FacebookProvider.php line 89:Undefined index: first_name.
  4. After that I replaced the code in FacebookProvider.php with this file from github.

Don't forget to execute random composer dump-autoload's everytime because sometimes that randomly seems to help as well.

Now it finally works for whatever reason!

EDIT

I also noticed that composer update does a good job. Update socialite to the newest version if this doesn't work. This eventually fixed another problem I had recently.



Answered By - Markinson
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing