public function postComplete() { $user_data = Session::get('mmanos.social.pending'); if (empty($user_data) || !is_array($user_data)) { return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem logging in to your account (12).'); } $user_info = array_merge(array_get($user_data, 'user_info'), Input::all()); $user_validation = Config::get('laravel-social::user_validation'); if ($user_validation instanceof Closure) { $validator = $user_validation($user_info); } else { $validator = Validator::make($user_info, (array) $user_validation); } if ($validator->fails()) { return Redirect::action('Mmanos\\Social\\SocialController@getComplete')->withInput()->withErrors($validator); } $create_user_callback = Config::get('laravel-social::create_user'); if (empty($create_user_callback) || !$create_user_callback instanceof Closure) { return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem logging in to your account (13).'); } $user_id = $create_user_callback($user_info); if (!$user_id || !is_numeric($user_id) || $user_id <= 0) { return Redirect::to(Session::pull('mmanos.social.onerror', '/'))->with(Config::get('laravel-social::error_flash_var'), 'There was a problem logging in to your account (14).'); } $provider = array_get($user_data, 'provider'); $provider_id = array_get($user_data, 'provider_id'); $access_token = array_get($user_data, 'access_token'); $this->linkProvider($user_id, $provider, $provider_id, $access_token); Session::forget('mmanos.social.pending'); Session::forget('mmanos.social.failed_fields'); Auth::loginUsingId($user_id); return Redirect::to(Session::pull('mmanos.social.onsuccess', '/')); }