2015-09-05 104 views
2

最近我的工作laravel 5.1框架,并试图通过社会认证,使用户登录像Facebook登录.. 我也跟着从YouTube Laravel 5.1 Socialite AuthenticationLaravel 5.1社会认证工作不正常

本教程,但得到这个异常
InvalidStateException in AbstractProvider.php line 191:

in AbstractProvider.php line 191 

在AbstractProvider->用户()在SocialAuthController.php线61 在SocialAuthController-> github_Callback() 在call_us er_func_array(阵列(对象(SocialAuthController), 'github_Callback'),阵列())在ControllerDispatcher.php线Controller.php这样线256 在控制器 - > callAction( 'github_Callback',阵列())164

这里是我的代码

// facebook Sociolite for routing 
Route::get('/auth/facebook', 'Auth\[email protected]'); 
Route::get('callback_facebook', 'Auth\[email protected]'); 

// AuthController 

<?php 

namespace App\Http\Controllers\Auth; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

use App\User; 
use Validator; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\ThrottlesLogins; 
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 

use Socialite; 
use Auth; 
use redirect; 


class AuthController extends Controller 
{ 
    class SocialAuthController extends Controller{ 
    // For Facebook 
    public function redirectToProvider(){ 

     return Socialite::driver('facebook')->redirect(); 
    } 
    public function handleProviderCallback(){ 
     $curl = curl_init(); 
     curl_setopt($curl , CURLOPT_SSL_VERIFYPEER, false); 

     $user = Socialite::driver('facebook')->user(); 
     $data = ['name'=>$user->name, 'email'=>$user->email, 'password'=>$user->token]; 
     $userDB = User::where('email',$user->email)->first(); 

     if (!is_null($userDB)){ 
      Auth::login($userDB); 
     } 
     else{ 
      Auth::login($this->create($data)); 
     } 
     return redirect('/pages/profile'); 
    } 
    } 
} 

    config\service.php 
    'facebook' => [ 
     'client_id' => '513845902100524', 
     'client_secret' => '135699237e16cd3a50d2cbfec3a5e58c', 
     'redirect' => 'http://localhost:8000/callback_facebook', 
    ], 
+0

我身边有一个cookie问题。我解决了它使用这个答案http://stackoverflow.com/a/31738836/1090395 –

回答

0

您可以从laravel official site得到详细的文档。社交网站教程here

+0

http://laravel.com/docs/5.1/authentication#social-authentication – Ishahriyar

+1

thnx Ishahriyar u'r回复后按照本教程http ://www.codeanchor.net/blog/complete-laravel-socialite-tutorial/ 我得到了另一个异常 –