2017-11-18 338 views
2

试图让社交网站在我的应用程序上工作。 Facebook返回The parameter app_id is required错误。Laravel Socialite Facebook登录错误:需要参数app_id

路线:

Route::get('/login/facebook', '\CommendMe\Http\Controllers\[email protected]'); 

Route::get('/login/facebook/callback', '\CommendMe\Http\Controllers\[email protected]'); 

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返回此错误。 这是怎么回事?

+0

那么显然没有'app_id' – nogad

+0

是不是'services_id'在services.php? –

回答

3

要么使用作为

'client_id' => '426129694395672', 

或者

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

,并使用FB_APP = '426129694395672'.env文件

相反

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

使用env('VarName').env文件

+0

doh!是的,就是这样。 –

0

假设获得命名为VarName环境变量的值,你有你的.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', 
],