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; }
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; }
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; }
/** * 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); }
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]); }