title: Laravel: Reset password using the username
body: <p>I need to be able to reset a users password based on their username rather than their email address. The database does store the email address, but a user can have multiple user accounts with the same email address. Therefore, the username is the best unique factor to reset the password on.</p>
  
  <p>My current password reset request is:</p>
  
  <pre><code>switch (Password::remind(Input::only('email')))
  {
    case Password::INVALID_USER:
      return Redirect::back()-&gt;with('error', Lang::get($reason));
  
    case Password::REMINDER_SENT:
      return Redirect::back()-&gt;with('status', Lang::get($reason));
  }
  </code></pre>
  
  <p>My current reset function is</p>
  
  <pre><code>$credentials = Input::only(
      'username', 'password', 'password_confirmation', 'token'
  );
  
  $response = Password::reset($credentials, function($user, $password){
      $user-&gt;password = Hash::make($password);
  
      $user-&gt;save();
  });
  
  switch ($response){
      case Password::INVALID_PASSWORD:
      case Password::INVALID_TOKEN:
      case Password::INVALID_USER:
      return Redirect::back()-&gt;with('error', Lang::get($response));
  
      case Password::PASSWORD_RESET:
      return Redirect::to('/overview');
  }
  </code></pre>
  
  <p>I know changing the Password::remind and Password:reset function use send the username won't resolve things. I just don't know how to tell it to use the username column instead of the email column.</p>
  
  <p>Any suggestions?</p>