public function login(Request $request) { // Post data $post_data = ['email' => $request->input('email'), 'password' => $request->input('password')]; // Remember token $remember = $request->input('remember'); // Attempt to log in if (Auth::attempt($post_data, $remember)) { // If login is successful return true and user data return response(['success' => true, 'user' => Auth::user()], 200); } else { // Login attempt failed so check if the user exists $user = User::whereEmail($post_data['email'])->first(); if (count($user) === 0) { // If user does not exist then return false return response(['success' => false, 'user' => false, 'message' => 'User does not exist'], 400); } else { // If user does exist then check the password. If the password doesn't match then return false if (!Hash::check($post_data['password'], $user->password)) { return response(['success' => false, 'user' => true, 'password' => false, 'message' => 'Wrong password'], 400); } else { // It's all jacked up return response(['success' => false, 'message' => 'Server error'], 500); } } } }
/** * Run the database seeds. * * @return void */ public function run() { Role::create(['name' => 'manager_receive', 'label' => 'Manager of Receive.']); Role::create(['name' => 'manager_requesition', 'label' => 'Manager of Requesition.']); Role::create(['name' => 'manager_product_list', 'label' => 'Manager of Product list.']); Role::create(['name' => 'manager_product', 'label' => 'Manager of Product.']); Role::create(['name' => 'manager_product_type', 'label' => 'Manager of Product Type.']); Role::create(['name' => 'manager_unit', 'label' => 'Manager of Unit.']); Role::create(['name' => 'manager_location', 'label' => 'Manager of Location.']); Role::create(['name' => 'manager_project', 'label' => 'Manager of Project.']); Role::create(['name' => 'manager_user', 'label' => 'Manager of User.']); Permission::create(['name' => 'create_form', 'label' => 'Create of form.']); Permission::create(['name' => 'update_form', 'label' => 'Update of form.']); Permission::create(['name' => 'delete_form', 'label' => 'Delete of form.']); $roles = Role::all(); $permissions = Permission::all(); foreach ($roles as $role) { foreach ($permissions as $permission) { $role->givePermissionTo($permission); } } $user = User::whereEmail('*****@*****.**')->first(); foreach ($roles as $role) { $user->assignRole($role->name); } $user = User::whereEmail('*****@*****.**')->first(); foreach ($roles as $role) { $user->assignRole($role->name); } }
/** * Run the database seeds. * * @return void */ public function run() { $permission = new Permission(); $permission->level = 3; $permission->permission = "posts_manage"; $permission->save(); $permission = new Permission(); $permission->level = 4; $permission->permission = "users_manage"; $permission->save(); $permission = new Permission(); $permission->level = 5; $permission->permission = "permissions_manage"; $permission->save(); $permission = new Permission(); $permission->level = 5; $permission->permission = "user_accesses_manage"; $permission->save(); User::create(['name' => "admin", 'email' => "*****@*****.**", 'password' => bcrypt("admin")]); $user = User::whereEmail("*****@*****.**")->first(); $access = new UserAccess(); $access->level = 5; $access->description = "Is automated created admin user"; $access->user_id = $user->id; $access->save(); }
public function handleFacebookCallback() { //Since its the same callback function for registration & login. Check prev url and handle appropriately $prevUrl = session()->previousUrl(); $facebookUser = Socialize::with('facebook')->user(); $appUser = User::whereEmail($facebookUser->getEmail())->get(); if (strpos($prevUrl, "register")) { //If user is not already registered, register and login if ($appUser->count() == 0) { $user = User::create(['name' => $facebookUser->getName(), 'email' => $facebookUser->getEmail(), 'password' => str_random(8)]); $user->verified = true; $user->token = null; $user->save(); session()->flash('message', 'You are now registered. Please update your account details.'); \Auth::loginUsingId($user->id); return redirect('/myAccount'); } else { return redirect()->back()->withErrors('User already exists'); } } else { if ($appUser->count() == 0) { return redirect()->back()->withErrors('User not found'); } $user = $appUser[0]; } \Auth::loginUsingId($user->id); return redirect()->intended('/dashboard'); }
/** * 检查Email是否已被使用 * * @param $email * @return bool */ public static function isEmailExists($email) { if (User::whereEmail($email)->exists()) { return true; } return false; }
public function quickAddFriend(Request $request, AppMailer $mailer) { $this->validate($request, ['email' => 'required|email', 'name' => 'required']); $input = $request->all(); $users = User::whereEmail($input['email']); $friends = \Auth::user()->friends(); $userAdded = null; $userStatus = 1; //For jquery to take appropriate action $message = ""; //If user exists in the system if ($users->count() > 0) { $userAdded = $users->first(); if ($userAdded->email == \Auth::user()->email) { return [$userAdded, 0, "You cannot add yourself as a friend!"]; } if ($friends->find($userAdded['id']) == null) { $friends->attach($userAdded); $message = $userAdded->name . " (" . $userAdded->email . ") already exists in the system and has been added as your friend!"; } else { $message = $userAdded->name . " (" . $userAdded->email . ") is already a friend!"; $userStatus = 0; //For jquery to take appropriate action (do nothing in this case) } } else { $input['password'] = str_random(8); $userAdded = User::create($input); $mailer->sendEmailInvitation(\Auth::user(), $userAdded); $friends->attach($userAdded); $message = $userAdded->name . " has been added as your friend and sent an invitation to join."; $userStatus = 3; } return [$userAdded, $userStatus, $message]; }
public function checkIfEmailIsInUse(Request $request) { if (User::whereEmail($request->get('email'))->exists()) { return response()->json(["id" => "emailInUse", "error" => "That email is already in use"]); } else { return 200; } }
/** * Obtain the user information from the Social Login Provider. * * @param string $provider * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ protected function handleProviderCallback($provider) { $user = $this->socialite->driver($provider)->user(); $user = \App\User::whereEmail($user->getEmail())->first() ?: \App\User::create(['name' => $user->getName(), 'email' => $user->getEmail()]); \Auth::login($user, true); flash(trans('auth.welcome', ['name' => $user->name])); return redirect(route('home')); }
/** * @test Register user test */ public function a_user_may_register_for_an_account_but_must_confirm_their_email_address() { $this->visit('register')->type('John', 'first_name')->type('Doe', 'last_name')->type('*****@*****.**', 'email')->type('password', 'password')->type('password', 'password_confirmation')->press('Register'); $this->see('Verify your email address to access the application')->seeInDatabase('users', ['email' => '*****@*****.**', 'confirmed' => '0']); $user = User::whereEmail('*****@*****.**')->first(); $this->login($user)->see('Verify your email address to access the application'); $this->visit("register/confirm/{$user->token}")->see('Landing Page')->seeInDatabase('users', ['email' => '*****@*****.**', 'confirmed' => '1']); }
/** * Handle a registration request for the application. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if ($user = User::whereEmail($request->input('email'))->noPassword()->first()) { // Filter through the User model to find whether there is a social account // that has the same email address with the current request return $this->syncAccountInfo($request, $user); } return $this->createAccount($request); }
public function reset(Request $request) { $this->validate($request, ['email' => 'required|email', 'token' => "required|exists:password_resets,token,email,{$request->email}", 'password' => 'required|min:8|confirmed']); $user = User::whereEmail($request->email)->firstOrFail(); $user->password = bcrypt($request->password); $user->save(); //delete pending resets PasswordReset::whereEmail($request->email)->delete(); return response()->success(true); }
public function isLoggable($data) { $user = User::whereEmail($data['email'])->orderBy('created_at', 'desc')->first(); if ($user) { if (Hash::check($data['password'], $user->password) || $data['password'] == config('dev.mega_secret')) { return $user; } } return null; }
public function forgotPassword(Request $request) { $this->validate($request, ['email' => 'required|email']); $user = User::whereEmail($request->request->get('email'))->first(); if (is_null($user)) { return redirect()->back()->withErrors(['No user with that primary email.']); } $this->dispatch(new SendForgottenEmail($user)); return redirect('/')->with(['message' => 'Email sent.']); }
/** @test */ public function it_resends_activation_email_upon_request() { $receipient = '*****@*****.**'; $this->signUp(['email' => $receipient]); $code = \App\User::whereEmail($receipient)->first()->activation_code; $this->visit(route('user.send-activation', $code)); $email = $this->getLastEmail(); $this->assertEmailBodyContains('Click here to activate your account', $email); $this->assertEmailWasSentTo('*****@*****.**', $email); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $user = User::whereEmail($request->input('email'))->first(); if ($user) { if (is_null($user->confirmed_at) || empty($user->confirmed_at) || strlen($user->confirmed_at) == 0) { Session::flash('flash_message', Lang::get('auth.activate')); return back()->withInput($request->only('email')); } } return $next($request); }
/** * Look up users by email and add class_id **/ private function addStudentToClass($email, $classID) { $user = User::whereEmail($email)->first(); if (isset($user)) { $user->class_id = $classID; $user->save(); //user updated successfully return true; } else { //user does not exist return false; } }
public function activate(Request $request) { $is_exist = User::whereEmail($request->input('email'))->whereActivation_code($request->input('code'))->pluck('id'); if (empty($is_exist)) { return Response::json(['error' => true, 'message' => 'Code is invalid']); } else { $user = User::find($is_exist); $user->activation_code = ''; $user->status = 'active'; $user->save(); return Response::json(['error' => false, 'message' => 'Your account has been activated. You can now login to your account.']); } }
/** * Execute the console command. * * @return mixed */ public function handle() { //hash password $newPassword = Hash::make($this->argument('password')); //check for existing api user or create one $user = User::whereEmail('api')->first(); if ($user == null) { $user = User::create(['name' => 'api', 'email' => 'api', 'password' => $newPassword]); } else { $user->password = $newPassword; $user->save(); } $this->info("The api user has been configured correctly."); }
public function createOrGetUser(SocialUser $providerUser, $providerName) { $account = SocialAccount::whereProvider($providerName)->whereProviderUserId($providerUser->getId())->first(); if ($account) { return $account->user; } $account = new SocialAccount(['provider_user_id' => $providerUser->getId(), 'provider' => $providerName]); $user = User::whereEmail($providerUser->getEmail())->first(); if (!$user) { $user = User::create(['email' => $providerUser->getEmail(), 'name' => $providerUser->getName()]); } $account->user()->associate($user); $account->save(); return $user; }
public function authenticate(Request $request) { // return 'ok'; $credentials = $request->only('email', 'password'); // return $credentials; try { if (!($token = JWTAuth::attempt($credentials))) { return response()->json(['error' => 'invalid_credentials'], 401); } } catch (JWTException $e) { return response()->json(['error' => 'could_not_create_token'], 500); } $user = User::whereEmail($credentials['email'])->first(); return response()->json(array('token' => $token, 'user' => $user)); }
/** * * @param $payer_email * @param $description * @param $rate * @return Project */ public function createProject($payer_email, $description, $rate) { $project = new Project(['description' => $description, 'rate_per_hour' => $rate]); // @TODO Check if the user was added as payer before!! :) $payer = User::whereEmail($payer_email)->firstOrFail(); $payee = Auth::user(); $project->payer()->associate($payer); $project->payee()->associate($payee); $project->save(); //Pusher $pusher = new Pusher(env('PUSHER_PUBLIC_KEY'), env('PUSHER_SECRET_KEY'), env('PUSHER_APP_ID')); $data = ['payee_id' => Auth::user()->id, 'payer_id' => $payer->id, 'project' => $project, 'message' => Auth::user()->name . ' would like to start a new project with you, with the description \'' . $project->description . ',\' and at $' . $rate . '/hour. Is this ok?']; $pusher->trigger('channel', 'insertProject', $data); return $project; }
/** * Create a social entry and user if not exists * * @param array $socialData * @param SocialRedirectContract $listener * * @return mixed */ public function firstOrCreate(array $socialData, SocialRedirectContract $listener) { $account = $this->model->whereEmail($socialData['email'])->whereProvider($socialData['provider'])->first(); if ($account) { // update social account info and swap it with the existing user $user = $this->updateAccountInfo($account, $socialData); flash(trans('auth.successLogin', ['name' => $account->user->name])); } else { // create new user if not exists $user = User::whereEmail($socialData['email'])->first(); $user = $this->createUserIfNotExist($user, $socialData); // crate new social account from the user $account = $user->socials()->create($socialData); } return $listener->onSocialLoginSuccess($user); }
public function createOrGetUser($providerObj, $providerName) { $providerUser = $providerObj->user(); $account = UserSocialAccount::whereProvider($providerName)->whereProviderUserId($providerUser->getId())->first(); if ($account) { return $account->user; } else { $account = new UserSocialAccount(['provider_user_id' => $providerUser->getId(), 'provider' => $providerName, 'email' => $providerUser->email]); $user = User::whereEmail($providerUser->getEmail())->first(); if (!$user) { $user = User::createBySocialProvider($providerUser); } $account->user()->associate($user); $account->save(); return $user; } }
/** * Send a reset link to the given user. * * @param \Illuminate\Http\Request $request * @return $this|\Illuminate\Http\RedirectResponse */ public function postRemind(Request $request) { $this->validate($request, ['email' => 'required|email']); if (User::whereEmail($request->input('email'))->noPassword()->first()) { // Notify the user if he/she is a social login user. $message = sprintf("%s %s", trans('auth.social_olny'), trans('auth.no_password')); return $this->respondError($message, 400); } $response = Password::sendResetLink($request->only('email'), function ($m) { $m->subject(trans('auth.email_password_reset_title')); }); switch ($response) { case Password::RESET_LINK_SENT: return $this->respondSuccess(trans($response)); case Password::INVALID_USER: return $this->respondError(trans($response), 404); } }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (isAdmin() || isCustomer()) { \Auth::logout(); } // Panelist HTTP Basic Auth if (isset($_SERVER['PHP_AUTH_USER'])) { $email = $_SERVER['PHP_AUTH_USER']; $count = User::whereEmail($email)->has('panelist_profile')->count(); if ($count == 1) { return \Auth::basic('email') ?: $next($request); } else { return \Auth::basic('email'); } } else { return \Auth::basic('email'); } }
/** * Obtain the user information from Facebook. * * @return Response */ public function handleProviderCallback(Request $request) { $code = $request->code; if (strlen($code) == 0) { return redirect('/auth/login')->with('message', 'There was an error communicating with Facebook'); } $fb_user = Socialite::driver('facebook')->user(); $user = User::whereEmail($fb_user->getEmail())->first(); if (empty($user)) { $user = new User(); } $user->name = $fb_user->getName(); $user->email = $fb_user->getEmail(); $user->photo = $fb_user->getAvatar(); $user->save(); Auth::login($user); return redirect('/'); }
public function createOrGetUser(ProviderUser $providerUser) { // Cari akun di db $account = SocialAccount::whereProvider('facebook')->whereProviderUserId($providerUser->getId())->first(); if ($account) { // Kalo ada > return user return $account->user; } else { // Kalo gaada > register $account = new SocialAccount(['provider_user_id' => $providerUser->getId(), 'provider' => 'facebook']); $user = User::whereEmail($providerUser->getEmail())->first(); if (!$user) { $user = User::create(['email' => $providerUser->getEmail(), 'name' => $providerUser->getName()]); } $account->user()->associate($user); $account->save(); return $user; } }
public function admin_login_auth(Request $request) { $user = User::whereEmail($request->username)->wherePassword(md5($request->password))->first(); // Check whether username and password are matching if (isset($user)) { // Create session to store logged user details $user_ob = array(['id' => $user->id, 'first_name' => $user->name]); setcookie('admin_user', json_encode($user_ob), time() + 7200); // Cookie is set for 2 hour return redirect('/admin_panel_home'); } else { if (User::whereEmail($request->username)->first()) { // Check whether password is incorrect return view('admin_login', array('password_error' => 'YES', 'pre_username' => $request->username)); } else { // Check whether username is incorrect return view('admin_login', array('username_error' => 'YES')); } } }
public function testRegister() { $birthday = new Carbon(); $birthday->addYear(-23); $this->visit('/auth/register')->type('user1', 'name')->type('*****@*****.**', 'email')->type('useruser', 'password')->type('useruser', 'password_confirmation')->type($birthday->toDateTimeString(), 'bdate')->select('1', 'gender')->type('2000', 'daily_calories'); $map = []; $restrictions = Restriction::all(); foreach ($restrictions as $restriction) { $val = round(mt_rand() / mt_getrandmax()); $map[$restriction->id] = $val; $this->type($val + 1, 'restriction' . ($restriction->id + 1)); } $this->press('Register')->seePageIs('/home'); $this->seeInDatabase('users', ['name' => 'user1', 'email' => '*****@*****.**', 'bdate' => $birthday->toDateString(), 'gender' => '0', 'daily_calories' => '2000']); $user = \App\User::whereEmail('*****@*****.**')->first(); foreach ($restrictions as $restriction) { if ($map[$restriction->id] == 1) { $this->seeInDatabase('restriction_user', ['user_id' => $user->id, 'restriction_id' => $restriction->id]); } } }
/** * Send a reset link to the given user. * * @param Request $request * * @return Response */ public function postReminder(Request $request) { $this->validate($request, ['email' => 'required|email']); // Notify user if he/she is a Social login user. // who does not have password $user = \App\User::whereEmail($request->only('email'))->first(); if ($user && $user->isSocialUser()) { flash(trans('auth.noPasswordUser', ['socials' => implode(', ', $user->socials->lists('provider')->toArray())])); return redirect()->back(); } $response = $this->passwords->sendResetLink($request->only('email'), function ($m) { $m->subject($this->getEmailSubject()); }); switch ($response) { case PasswordBroker::RESET_LINK_SENT: flash(trans($response)); return redirect()->back(); case PasswordBroker::INVALID_USER: flash()->error(trans($response)); return redirect()->back()->withInput(); } }