Commit 30bb30cd authored by Jens Segers's avatar Jens Segers

Overwrite registerPasswordBroker with custom broker

parent c3ea71b3
<?php namespace Jenssegers\Mongodb\Auth; <?php namespace Jenssegers\Mongodb\Auth;
use Illuminate\Auth\Passwords\DatabaseTokenRepository as BaseDatabaseTokenRepository;
use MongoDB\BSON\UTCDateTime; use MongoDB\BSON\UTCDateTime;
class DatabaseTokenRepository extends \Illuminate\Auth\Passwords\DatabaseTokenRepository class DatabaseTokenRepository extends BaseDatabaseTokenRepository
{ {
/** /**
* Build the record payload for the table. * Build the record payload for the table.
......
<?php namespace Jenssegers\Mongodb\Auth;
use Illuminate\Auth\Passwords\PasswordBrokerManager as BasePasswordBrokerManager;
class PasswordBrokerManager extends BasePasswordBrokerManager
{
/**
* Create a token repository instance based on the given configuration.
*
* @param array $config
* @return \Illuminate\Auth\Passwords\TokenRepositoryInterface
*/
protected function createTokenRepository(array $config)
{
return new DatabaseTokenRepository(
$this->app['db']->connection(),
$config['table'],
$this->app['config']['app.key'],
$config['expire']
);
}
}
<?php namespace Jenssegers\Mongodb\Auth; <?php namespace Jenssegers\Mongodb\Auth;
use Jenssegers\Mongodb\Auth\DatabaseTokenRepository as DbRepository; use Illuminate\Auth\Passwords\PasswordResetServiceProvider as BasePasswordResetServiceProvider;
class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordResetServiceProvider class PasswordResetServiceProvider extends BasePasswordResetServiceProvider
{ {
/** /**
* Register the token repository implementation. * Register the token repository implementation.
...@@ -23,7 +23,23 @@ class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordRe ...@@ -23,7 +23,23 @@ class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordRe
$expire = $app['config']->get('auth.password.expire', 60); $expire = $app['config']->get('auth.password.expire', 60);
return new DbRepository($connection, $table, $key, $expire); return new DatabaseTokenRepository($connection, $table, $key, $expire);
});
}
/**
* Register the password broker instance.
*
* @return void
*/
protected function registerPasswordBroker()
{
$this->app->singleton('auth.password', function ($app) {
return new PasswordBrokerManager($app);
});
$this->app->bind('auth.password.broker', function ($app) {
return $app->make('auth.password')->broker();
}); });
} }
} }
...@@ -24,7 +24,7 @@ class AuthTest extends TestCase ...@@ -24,7 +24,7 @@ class AuthTest extends TestCase
$this->assertTrue(Auth::check()); $this->assertTrue(Auth::check());
} }
public function testRemind() public function testRemindOld()
{ {
if (Application::VERSION >= '5.2') { if (Application::VERSION >= '5.2') {
return; return;
......
...@@ -2,6 +2,22 @@ ...@@ -2,6 +2,22 @@
class TestCase extends Orchestra\Testbench\TestCase class TestCase extends Orchestra\Testbench\TestCase
{ {
/**
* Get application providers.
*
* @param \Illuminate\Foundation\Application $app
*
* @return array
*/
protected function getApplicationProviders($app)
{
$providers = parent::getApplicationProviders($app);
unset($providers[array_search('Illuminate\Auth\Passwords\PasswordResetServiceProvider', $providers)]);
return $providers;
}
/** /**
* Get package providers. * Get package providers.
* *
...@@ -11,8 +27,8 @@ class TestCase extends Orchestra\Testbench\TestCase ...@@ -11,8 +27,8 @@ class TestCase extends Orchestra\Testbench\TestCase
protected function getPackageProviders($app) protected function getPackageProviders($app)
{ {
return [ return [
'Jenssegers\Mongodb\MongodbServiceProvider', Jenssegers\Mongodb\MongodbServiceProvider::class,
'Jenssegers\Mongodb\Auth\PasswordResetServiceProvider' Jenssegers\Mongodb\Auth\PasswordResetServiceProvider::class,
]; ];
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment