我在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
此网址没有客户凭据,我也不知道原因。
答案 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