【问题标题】:Laravel 5.1 social Authentication is not working properlyLaravel 5.1 社交身份验证无法正常工作
【发布时间】:2015-12-01 17:56:06
【问题描述】:

最近我正在研究 laravel 5.1 框架,并试图通过社交身份验证让用户登录,如 facebook 登录 .. 我从 youtube Laravel 5.1 Socialite Authentication 学习了本教程@

但是得到这个异常
InvalidStateException in AbstractProvider.php line 191:

in AbstractProvider.php line 191

在 SocialAuthController.php 第 61 行中的 AbstractProvider->user() 在 SocialAuthController->github_Callback() 在 Controller.php 第 256 行中的 call_user_func_array(array(object(SocialAuthController), 'github_Callback'), array()) 在 ControllerDispatcher.php 第 164 行中的 Controller->callAction('github_Callback', array())

这是我的代码

// facebook Sociolite for routing 
Route::get('/auth/facebook', 'Auth\SocialAuthController@redirectToProvider');
Route::get('callback_facebook', 'Auth\SocialAuthController@handleProviderCallback');

// 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',
    ],

【问题讨论】:

标签: laravel laravel-5 laravel-socialite


【解决方案1】:

您可以从 laravel official site 获取详细文档。名媛教程here.

【讨论】:

猜你喜欢
  • 2016-11-09
  • 1970-01-01
  • 2017-05-10
  • 2017-04-04
  • 1970-01-01
  • 2015-10-11
  • 2016-10-25
  • 2018-07-24
  • 1970-01-01
相关资源
最近更新 更多