Mmanos\Social\SocialController::postComplete PHP Method

postComplete() public method

Handle the complete login form submission.
public postComplete ( ) : Illuminate\Support\Facades\Redirect
return Illuminate\Support\Facades\Redirect
    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', '/'));
    }