![](/img/trans.png)
[英]An active access token must be used to query information about the current user. Facebook PHP SDK v4
[英]Laravel Socialite error: “An active access token must be used to query information about the current user.”
我正在使用Socialite
通過Facebook驗證我的用戶。 但是,我無法讓它發揮作用。 我按照本教程,但收到以下錯誤:
我到處尋找並嘗試過任何事情,但我無法讓它發揮作用。 這是我的代碼:
在services.php中:
'facebook' => [
'client_id' => '[My App ID]',
'client_secret' => '[My App Secret]',
'redirect' => 'http://localhost:8000/auth/facebook/callback/',
],
我的路線:
Route::group(['middleware' => ['web', 'requestlog']], function () {
Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
Route::get('auth/facebook/callback/', 'Auth\AuthController@handleProviderCallback');
});
然后在我的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());
}
}
然后我在FB中有這些設置:
出了什么問題? 據我所知,我遵循了所有必要的步驟。 我不明白這里有什么問題。 我希望我提供了所有必要的信息!
編輯
這里的網址是什么樣子的網頁,其中顯示錯誤: http://localhost:8000/auth/facebook/callback?code=AQBtnKEqZgImLqN7f3hETe9GptgzFH71sXrV5qmv8Rpo6Oj5-4rl8mBjFPbfkBtiV8w9atV7X4OrWfHyalJkXU-k6lkEv1bly6v5Qxm2es-_RRp8gfoSWOZwjqE34Rvq6__L3aEOERPEa9LSBk_rKVP_cYGZoQeAydRLQUZVGdr_p1SuE1hRZIvZTAZ-zorkPoyyCDNZtDEVFHGRJt_c3kTf_AKE97FVemrXrUDzxaX-rvovKtfGF3u4CvAIt5pe4g7zD30jAWF78ZgjjPpr21MdaGwP5V0tc8g84oz0dR5Nbit7sKeUE-XblWFrQCIKfqs-OJ6rcuzw7iPTx6xrQ9Ev&state=4f924a9974207482c6fce24c1d74705c6688adc0#_=_
我也嘗試過隱身模式,刪除cookie等等。 結果相同......
我不想搞亂訪問令牌或其他API,因為我認為這不會解決我的問題。 但是現在(在我不知道多久之后......)我開始工作了! 對於有這個問題的人; 我做了以下步驟,運氣不好使它工作:
"laravel/socialite": "2.*"
。 ErrorException in FacebookProvider.php line 89:Undefined index: first_name
。 FacebookProvider.php
的代碼。 不要忘記每次都執行隨機的composer dump-autoload
因為有時隨機似乎也有幫助。
現在它最終無論如何都有效!
編輯
我還注意到composer update
做得很好。 如果不起作用,請將socialite更新為最新版本。 這最終解決了我最近遇到的另一個問題。
運行composer update
然后composer dump-autoload
為我解決了這個問題。
我注意到Laravel Socialite已經更新,所以@Markinson是對的
您提到的錯誤是access_token無效。 您需要生成永久訪問令牌才能使此功能正常運行。
這是您可以關注的鏈接。 ( Facebook:永久頁面訪問令牌? )我認為你應該使用直接的Http圖api調用來使這個工作。
對我而言,它與composer require laravel/socialite:2.0.21
...從2.0.20升級
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.