使用社交网站的流明:参数app_id是必需的

时间:2016-09-20 16:55:34

标签: facebook laravel oauth lumen laravel-socialite

我在Lumen 5.2上安装了Laravel Socialite,但无法使其运行。

.ENV

FB_KEY=xxx
FB_SECRET=xxx
FB_CALLBACK=http://lumen.app/auth/facebook/callback

app.php

class_alias('Laravel\Socialite\Facades\Socialite', 'Socialite');

$app->register(Laravel\Socialite\SocialiteServiceProvider::class);

配置/ services.php     

return [
    'facebook' => [
        'client_id' => env('FB_KEY'),
        'client_secret' => env('FB_SECRET'),
        'redirect' => env('FB_CALLBACK'),
    ],
];

routes.php文件

$app->get('/auth/facebook', ['uses' => 'App\Http\Controllers\AuthController@redirectToProvider']);
$app->get('/auth/facebook/callback', ['uses' => 'App\Http\Controllers\AuthController@handleProviderCallback']);

AuthController.php

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

但是当我打开http://lumen.app/auth/facebook时,它会将我重定向到FB页面并显示错误The parameter app_id is required

echo Socialite::driver('facebook')->stateless()->redirect()->getTargetUrl();

返回https://www.facebook.com/v2.6/dialog/oauth?scope=email&response_type=code

此网址没有客户凭据,我也不知道原因。

3 个答案:

答案 0 :(得分:0)

遇到同样的问题,调试后得到config/services.php未被选中(我使用流明5.4) 所以只需添加bootstrap/app.php$app->configure('services');

即可

干杯!

答案 1 :(得分:0)

它正在从已编译的缓存中读取。跑吧:

  

php artisan optimize

答案 2 :(得分:0)

我在Laravel 5.5上找到了一个解决方案:

php composer默认安装了socialite framework 3.0,但对于3.0版本,没有文档。然后,我从socialite删除了文件夹vendor/laravel/并安装了socialite 2.0.21,这给了我错误:

  

未定义的方法Illuminate \ session \ store :: set()

只需将set替换为put

我在这里找到了解决这个问题的方法:a session error after updating to laravel 5.4