コード例 #1
0
 public function postUlogin()
 {
     $_user = json_decode(file_get_contents('http://ulogin.ru/token.php?token=' . Input::get('token') . '&host=' . $_SERVER['HTTP_HOST']), true);
     //$user['network'] - соц. сеть, через которую авторизовался пользователь
     //$user['identity'] - уникальная строка определяющая конкретного пользователя соц. сети
     //$user['first_name'] - имя пользователя
     //$user['last_name'] - фамилия пользователя
     $validate = Validator::make([], []);
     if (isset($_user['error'])) {
         $validate->errors()->add('error', trans('larulogin::larulogin.' . $_user['error']));
         return Response::make(View::make(Config::get('larulogin::views.error'), ['errors' => $validate->errors()]), 401);
     }
     // Check exist user
     $check = Ulogin::where('identity', '=', $_user['identity'])->first();
     if ($check) {
         Auth::loginUsingId($check->user_id, true);
         if (class_exists('Sentry')) {
             $authSentry = Sentry::findUserById($check->user_id);
             Sentry::login($authSentry, true);
         }
         return Redirect::to('/');
     }
     $rules = array('network' => 'required|max:255', 'identity' => 'required|max:255|unique:ulogin', 'email' => 'required|unique:ulogin|unique:users');
     $messages = array('email.unique' => trans('larulogin::larulogin.email_already_registered'));
     $validate = Validator::make($_user, $rules, $messages);
     if ($validate->passes()) {
         $password = str_random(8);
         $user = Sentry::createUser(array('first_name' => $_user['first_name'], 'last_name' => $_user['last_name'], 'email' => $_user['email'], 'password' => $password, 'activated' => TRUE));
         foreach (Config::get('larulogin::add_to_groups') as $group_name) {
             $user->addGroup(Sentry::findGroupByName($group_name));
         }
         $ulogin = new Ulogin();
         $ulogin->user_id = $user->id;
         $ulogin->network = $_user['network'];
         $ulogin->identity = $_user['identity'];
         $ulogin->email = $_user['email'];
         $ulogin->first_name = $_user['first_name'];
         $ulogin->last_name = $_user['last_name'];
         $ulogin->photo = $_user['photo'];
         $ulogin->photo_big = $_user['photo_big'];
         $ulogin->profile = $_user['profile'];
         $ulogin->access_token = isset($_user['access_token']) ? $_user['access_token'] : '';
         $ulogin->country = isset($_user['country']) ? $_user['country'] : '';
         $ulogin->city = isset($_user['city']) ? $_user['city'] : '';
         $ulogin->save();
         $authClassic = Auth::loginUsingId($user->id);
         if (class_exists('Sentry')) {
             $authSentry = Sentry::authenticate(array('email' => $_user['email'], 'password' => $password), true);
         }
         return Redirect::to('/');
     } else {
         return Response::make(View::make(Config::get('larulogin::views.error'), array('errors' => $validate->errors())), 401);
     }
 }
コード例 #2
0
ファイル: social.controller.php プロジェクト: Grapheme/amway
 private function createULogin($userID, $_user)
 {
     $ulogin = new Ulogin();
     $ulogin->user_id = $userID;
     $ulogin->network = @$_user['network'];
     $ulogin->identity = @$_user['identity'];
     $ulogin->email = isset($_user['email']) ? $_user['email'] : '';
     $ulogin->first_name = @$_user['first_name'];
     $ulogin->last_name = @$_user['last_name'];
     $ulogin->photo = @$_user['photo'];
     $ulogin->photo_big = @$_user['photo_big'];
     $ulogin->profile = @$_user['profile'];
     $ulogin->access_token = isset($_user['access_token']) ? $_user['access_token'] : '';
     $ulogin->country = isset($_user['country']) ? $_user['country'] : '';
     $ulogin->city = isset($_user['city']) ? $_user['city'] : '';
     $ulogin->save();
     return $ulogin;
 }
コード例 #3
0
 public function createULogin($user_id, $post)
 {
     $ulogin = new Ulogin();
     if (!is_null($post) && isset($post['network']) && !empty($post['network'])) {
         $ulogin->user_id = $user_id;
         $ulogin->network = $post['network'];
         $ulogin->identity = $post['identity'];
         $ulogin->email = $post['email'];
         $ulogin->first_name = $post['name'];
         $ulogin->last_name = $post['surname'];
         $ulogin->nickname = '';
         $ulogin->city = '';
         $ulogin->photo = $post['photo'];
         $ulogin->photo_big = $post['photo_big'];
         $ulogin->profile = $post['profile'];
         $ulogin->uid = $post['uid'];
         $ulogin->access_token = $post['token'];
         $ulogin->verified_email = $post['verified_email'];
         $ulogin->token_secret = '';
         $ulogin->bdate = $post['yyyy'] . '-' . $post['mm'] . '-' . $post['dd'];
         $ulogin->sex = $post['sex'];
         $ulogin->save();
         $ulogin->touch();
         return $ulogin;
     }
     return FALSE;
 }