protected function registerPasswordBroker()
{
$this->app->singleton('auth.password', function ($app) {
// The password token repository is responsible for storing the email addresses
// and password reset tokens. It will be used to verify the tokens are valid
// for the given e-mail addresses. We will resolve an implementation here.
$tokens = $app['auth.password.tokens'];
$users = $app['auth']->driver()->getProvider();
$view = $app['config']['auth.password.email'];
// The password broker uses a token repository to validate tokens and send user
// password e-mails, as well as validating that password reset process as an
// aggregate service of sorts providing a convenient interface for resets.
$broker = new PasswordBroker($tokens, $users, $app['mailer'], $view);
// register validator for password
$broker->validator(function ($credentials) {
try {
return app('xe.user')->validatePassword($credentials['password']);
} catch (\Exception $e) {
return false;
}
});
return $broker;
});
}