Laravel Socialite Facebook登录错误:参数app_id是必需的

时间:2017-11-18 06:02:37

标签: php facebook laravel laravel-socialite

尝试让社交名流在我的应用上运行。 Facebook返回The parameter app_id is required错误。

路线:

Route::get('/login/facebook', '\CommendMe\Http\Controllers\AuthController@redirectToProvider');

Route::get('/login/facebook/callback', '\CommendMe\Http\Controllers\AuthController@handleProviderCallback');

services.php

'facebook' => [
    'client_id' => env('426129694395672'),  
    'client_secret' => env('840fca14fc9fac4b592cd49f285c2ee9'), 
    'redirect' => 'http://localhost/login/facebook/callback',
],  

AuthController.php

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

public function handleProviderCallback() {
    $user = Socialite::driver('facebook')->user();

    $user->name;
}   

尝试/login/facebook路线时,facebook会返回此错误。 为什么会这样?

2 个答案:

答案 0 :(得分:5)

使用

'client_id' => '426129694395672',  

或者

'client_id' => env("FB_APP",'426129694395672'),  

并在FB_APP = '426129694395672'文件

中使用.env

相反

'client_id' => env('426129694395672'),  

使用env('VarName')获取VarName文件中名为.env的环境变量的值

答案 1 :(得分:0)

假设您的.env文件中包含以下内容:

CLIENT_ID=426129694395672
CLIENT_SECRET=840fca14fc9fac4b592cd49f285c2ee9

services.php中的facebook[]应该是这样的:

'facebook' => [
    'client_id' => env('CLIENT_ID'),  
    'client_secret' => env('CLIENT_SECRET'), 
    'redirect' => 'http://localhost/login/facebook/callback',
],