提问者:小点点

如何在Laravel 5.1中实现社交名流


我试图实现https://github.com/laravel/socialite在我的Laravel 5.1项目中。

所以我在留档时写道:services.php

'facebook' => [
        'client_id'     => '567898789',
        'client_secret' => 'e7055b8576508b4026098d3chhh41d98',
        'redirect'      => 'http://domain.com/login/callback/facebook',
    ],

也在应用程序中。我加上:

    Laravel\Socialite\SocialiteServiceProvider::class,

和别名:

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

现在,我在AuthController中添加:

public function redirectToProvider()
    {
        return Socialite::driver('facebook')
         ->scopes(['scope1', 'scope2'])->redirect();
    }

    /**
     * Obtain the user information from GitHub.
     *
     * @return Response
     */
    public function handleProviderCallback()
    {
        $user = Socialite::driver('facebook')->user();

        // $user->token;
    }

route.php:

//Social Login
Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
Route::get('auth/facebook/callback', 'Auth\AuthController@handleProviderCallback');

但是现在当我试图去http://domain.com/auth/facebook我得到:

控制器中的NotFoundHttpException。php第269行:未找到控制器方法。

怎么了?我在哪里出错?如何解决这个问题?


共2个答案

匿名用户

可能是指这个

尝试更改路线注册的顺序。

匿名用户

老问题,但是,您似乎没有使用App\Http\Controllers\Controller导致控制器看不到控制器类。

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Socialite;

class AuthController extends Controller