public function verify($verificationCode)
 {
     if ($user = $this->userRepository->verify($verificationCode)) {
         $this->userRepository->login($user);
         flash()->message('Thank you for verifying your email address. Glad to have you as a new member!');
         return redirect()->route('droplets_path');
     }
 }
 public function destroy()
 {
     // Use Auth::id()
     if ($this->userRepository->destroy(Auth::id())) {
         Auth::logout();
         flash()->success('Your account has been closed.');
         return redirect()->route('register_path');
     }
 }
 public function store(LoginRequest $request)
 {
     if (!$this->userRepository->login(null, $request->only('email', 'password'))) {
         // Failed! Return to the login page
         flash()->error('We were unable to sign you in. Please check your credentials and try again.');
         return redirect()->back()->withInput();
     }
     return redirect()->intended('/');
 }
 private function authenticateOrRegister($oauthUser)
 {
     if ($user = $this->userRepository->getByEmail($oauthUser->getEmail())) {
         // User exists in the system...
         $this->userRepository->login($user);
     } else {
         // create a user
         $user = $this->userRepository->create(['name' => $oauthUser->getName(), 'email' => $oauthUser->getEmail()]);
         $this->userRepository->login($user);
         flash()->message('Thank you for registering');
     }
     return redirect()->route('droplets_path');
 }
 public function postReset(Request $request)
 {
     $this->validate($request, ['token' => 'required', 'email' => 'required|email', 'password' => 'required|confirmed']);
     $credentials = $request->only('email', 'password', 'password_confirmation', 'token');
     $response = $this->passwords->reset($credentials, function ($user, $password) {
         $user->password = $password;
         $user->save();
         $this->userRepository->login($user);
     });
     switch ($response) {
         case PasswordBroker::PASSWORD_RESET:
             flash()->success('Your password has been reset.');
             return redirect($this->redirectPath());
         default:
             return redirect()->back()->withInput($request->only('email'))->withErrors(['email' => trans($response)]);
     }
 }