Beispiel #1
0
 public function signin($id, $password, $type = UserContact::TYPE_EMAIL)
 {
     if (!is_scalar($id)) {
         return false;
     }
     $auth = UserContact::where('type', '=', $type)->where('value', '=', $id)->first();
     if (empty($auth)) {
         return false;
     }
     $obj = User::where('id', '=', $auth->user_id)->where('password', '=', password_crypt($password))->with('session')->first();
     if (!empty($obj->id)) {
         $session = $obj->session;
         if (empty($session->id)) {
             $session = new UserSession();
         }
         $session->session_id = $this->session->id(true);
         $session->user_id = $obj->id;
         $session->ip_address = get_ip_address();
         $session->stamp = time();
         $session->save();
         $this->autorization = true;
         $this->user = $session->user;
         $smarty = new \Smarty();
         $smarty->assignGlobal('auth_user', $this->user);
         $smarty->assignGlobal('auth', $this);
         return true;
     }
     return false;
 }
Beispiel #2
0
 public function findByUserNameOrCreate($userData)
 {
     $user = User::where('provider_id', '=', $userData->id)->first();
     if (!$user) {
         $user = User::create(['provider_id' => $userData->id, 'name' => $userData->name, 'username' => $userData->nickname, 'email' => $userData->email, 'avatar' => $userData->avatar, 'status' => 1]);
     }
     $this->checkIfUserNeedsUpdating($userData, $user);
     return $user;
 }
Beispiel #3
0
 public function accountIsActive($code)
 {
     $user = User::where('activation_code', '=', $code)->first();
     $user->status = 1;
     $user->activation_code = '';
     if ($user->save()) {
         Auth::login($user);
     }
     return true;
 }
Beispiel #4
0
 /**
  * Verifica el usuario y contraseña dados. Si son correctos genera un access token y un refresh token.
  * <p>
  * Ejemplo: 
  * </p>
  * </p>
  * <p>JSON DE ENTRAA</p>
  * <p>
  * {
  *"user": "******",
  *"password": "******",
  *"imei": "XCVSDF2343"
  *}
  * </p>
  * <p>JSON DE SALIDA</p>
  * <p>
  * {
  * "error": false,
  * "msg": "OK",
  * "access_token": "OrrotWVZJXyGx42RnnBkdtXrwrk2gTrtVUuBr5dJiwPJtN3X",
  * "refresh_token": "q16d7NHS2b3M8OTgTKqbgBoRKsZahUWqk3tuTujHqjETS6dq",
  * "valid_until": "2015-07-08 15:00:00"
  * }
  * </p>
  *
  * @param Request $request
  *
  * @return Array
  *
  */
 public function login(Request $request)
 {
     $resp = array();
     $status = 200;
     $resp['error'] = true;
     $resp['msg'] = 'Ocurrió un error';
     $resp['access_token'] = null;
     $resp['refresh_token'] = null;
     $in = json_decode($request->getContent());
     $imei = $request->header('X-imei');
     if (property_exists($in, 'user') && property_exists($in, 'password')) {
         $user = User::where('login', '=', $in->user)->where('password', '=', $in->password)->first();
         if ($user) {
             $access_token = $this->generateToken();
             $refresh_token = $this->generateToken();
             $userToken = new UserToken();
             $userToken->access_token = $access_token;
             $userToken->refresh_token = $refresh_token;
             $userToken->id_user = $user->id;
             $userToken->imei = $imei;
             $userToken->save();
             $hoy = Carbon::now();
             $hoy->addDay();
             $resp['error'] = false;
             $resp['msg'] = 'OK';
             $resp['access_token'] = $access_token;
             $resp['refresh_token'] = $refresh_token;
             $resp['valid_until'] = $hoy->toDateTimeString();
         } else {
             $status = 401;
             $resp['msg'] = 'Login y/o password inválidos';
         }
     } else {
         $resp['msg'] = 'El login y/o password son obligatorios';
     }
     return new Response($resp, $status);
 }
Beispiel #5
0
 public function doLogin(LoginRequest $request)
 {
     $message = '';
     $email = $request->get('email');
     $password = $request->get('password');
     $remember = $request->get('remember');
     $check = User::where('email', '=', $email)->get();
     try {
         if (!count($check) > 0) {
             throw new Exception("Email Tidak Terdaftar");
         }
         if (!Auth::validate(['email' => $email, 'password' => $password, 'status' => 1])) {
             throw new Exception("Email atau Password Salah");
         } elseif ($remember) {
             if (Auth::attempt(['email' => $email, 'password' => $password, 'status' => 1, $remember])) {
                 if (Entrust::can(['backend'], true)) {
                     return redirect('backend/product');
                 }
                 return redirect('customer/account');
             }
         } else {
             if (Auth::attempt(['email' => $email, 'password' => $password, 'status' => 1])) {
                 if (Entrust::can(['backend'], true)) {
                     return redirect('backend/product');
                 }
                 return redirect('customer/account');
             }
         }
     } catch (Exception $e) {
         $message = $e->getMessage();
     }
     if ($request->has('page')) {
         return redirect('customer/login')->withInput()->withErrors(['message' => $message]);
     }
     return redirect('login')->withInput()->withErrors(['message' => $message]);
 }