public postComplete ( ) : Illuminate\Support\Facades\Redirect | ||
Результат | 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', '/'));
}