相关疑难解决方法(0)

无法将 Laravel / Socialite 与 Lumen 一起使用

我尝试在Lumen (5.1)系统中使用Laravel\Socialite

我在config\services.php文件中添加了这个:

<?php
//Socialite
'facebook' => [
    'client_id'     => '##################',
    'client_secret' => '##################',
    'redirect'      => 'http://local.dev/admin/facebook/callback',
],
Run Code Online (Sandbox Code Playgroud)

bootstrap\app.php文件中:

class_alias(Laravel\Socialite\Facades\Socialite::class, 'Socialite');
$app->register(Laravel\Socialite\SocialiteServiceProvider::class);
Run Code Online (Sandbox Code Playgroud)

然后我为 facebook 身份验证创建了一个控制器:

<?php

namespace App\Http\Controllers\Facebook;

use App\Http\Controllers\Controller;
use Laravel\Socialite\Contracts\Factory as Socialite;

class FacebookController extends Controller
{
  public function redirectToProviderAdmin()
  {
    return Socialite::driver('facebook')->scopes(['manage_pages', 'publish_actions'])->redirect();
  }

  public function handleProviderCallbackAdmin()
  {
    $user = Socialite::driver('facebook')->user();
  }
}
Run Code Online (Sandbox Code Playgroud)

并在routes.php

$app->get('/admin/facebook/login', 'App\Http\Controllers\Facebook\FacebookController@redirectToProviderAdmin');
$app->get('/admin/facebook/callback', 'App\Http\Controllers\Facebook\FacebookController@handleProviderCallbackAdmin');
Run Code Online (Sandbox Code Playgroud)

我只是按照文档进行操作,根据我的需要进行更改。当我转到页面时http://local.dev/admin/facebook/login,出现以下错误:

非静态方法 Laravel\Socialite\Contracts\Factory::driver() 不能静态调用,假设 $this 来自不兼容的上下文

事实上,根据代码,驱动程序函数必须是实例化的。 …

php facebook oauth laravel lumen

5
推荐指数
1
解决办法
6732
查看次数

标签 统计

facebook ×1

laravel ×1

lumen ×1

oauth ×1

php ×1