title: Laravel 4 password reminder: redirection issue
body: <p>I'm using the Laravel 4 password reminder functionality, as described here: <a href="http://four.laravel.com/docs/security#password-reminders-and-reset" rel="nofollow">http://four.laravel.com/docs/security#password-reminders-and-reset</a>. In order to generate the token, send the email and create de DB record in the password_reminder table, I use the standard code in my routes file :</p>
  
  <pre><code>Route::post('password/remind', function() {
    $credentials = array('email' =&gt; Input::get('email'));
    return Password::remind($credentials);
  });
  </code></pre>
  
  <p>This code is suppose to send me <em>back</em> to my input form in case of any error (unknown email address for instance). Instead of that, I get a <code>MethodNotAllowedHttpException</code>. The reason is Laravel don't try to send me back to my form URL (which is <code>/password/forgot</code>): he tries to redirect me to <code>/password/remind</code>, in GET, and this route does not exist (of course) in my routes.php file.</p>
  
  <p>I checked the code of the <code>Illuminate\Auth\Reminders\PasswordBroker</code> class, which is responsible of this redirection, and found out this method :</p>
  
  <pre><code>protected function makeErrorRedirect($reason = '')
  {
    if ($reason != '') $reason = 'reminders.'.$reason;
    return $this-&gt;redirect-&gt;refresh()-&gt;with('error', true)-&gt;with('reason', $reason);
  }
  </code></pre>
  
  <p>I replaced <code>$this->redirect->refresh()</code> by <code>$this->redirect->back()</code>, and everything is now working as excepted. But as I couldn't find any comment on this bug anywhere, I assume I'm doing something wrong… But I can't find what !</p>
  
  <p>Here is my routes.php file:</p>
  
  <pre><code>Route::get('password/forgot', array('as' =&gt; 'forgot', 'uses' =&gt; 'SessionsController@forgot'));
  Route::post('password/remind', function() {
      $credentials = array('email' =&gt; Input::get('email'));
      return Password::remind($credentials);
  });
  Route::get('password/reset/{token}', function($token) {
      return View::make('sessions.reset')-&gt;with('token', $token);
  });
  Route::post('password/reset/{token}', array('as' =&gt; 'reset', 'uses' =&gt; 'SessionsController@reset'));
  </code></pre>
  
  <p>my SessionsController relevant code:</p>
  
  <pre><code>class SessionsController extends BaseController {
  
      [...]
  
      public function forgot() {
          return View::make('sessions.forgot');
      }
  
      public function reset() {
          $credentials = array(
              'email' =&gt; Input::get('email'),
              'password' =&gt; Input::get('password'),
              'password_confirmation' =&gt; Input::get('password_confirmation')
          );
  
          Input::flash();
  
          return Password::reset($credentials, function($user, $password) {
              $user-&gt;password = Hash::make($password);            
              $user-&gt;save();
              return Redirect::to('home');
          });
      }
  
  }
  </code></pre>
  
  <p>and finally my view code:</p>
  
  <pre><code>{{ Form::open(array('url' =&gt; 'password/remind', 'class' =&gt; 'form', 'role' =&gt; 'form', 'method'=&gt;'post')) }}
      &lt;div class="form-group"&gt;
          {{ Form::label('email', 'E-mail') }}
          {{ Form::text('email', '', array('autocomplete'=&gt;'off', 'class' =&gt; 'form-control')) }}
      &lt;/div&gt;
      {{ Form::submit("Envoyer", array("class"=&gt;"btn btn-primary")) }}
  {{ Form::close() }}
  </code></pre>