X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/b8c16b15a9f945b72d2ca4fe0c0172ba422199bc..refs/pull/3193/head:/app/Providers/AuthServiceProvider.php diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index fe52df168..b301604a5 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -2,15 +2,16 @@ namespace BookStack\Providers; -use Auth; use BookStack\Api\ApiTokenGuard; use BookStack\Auth\Access\ExternalBaseUserProvider; +use BookStack\Auth\Access\Guards\AsyncExternalBaseSessionGuard; use BookStack\Auth\Access\Guards\LdapSessionGuard; -use BookStack\Auth\Access\Guards\Saml2SessionGuard; use BookStack\Auth\Access\LdapService; +use BookStack\Auth\Access\LoginService; use BookStack\Auth\Access\RegistrationService; -use BookStack\Auth\UserRepo; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\ServiceProvider; +use Illuminate\Validation\Rules\Password; class AuthServiceProvider extends ServiceProvider { @@ -21,27 +22,35 @@ class AuthServiceProvider extends ServiceProvider */ public function boot() { + // Password Configuration + Password::defaults(function () { + return Password::min(8); + }); + + // Custom guards Auth::extend('api-token', function ($app, $name, array $config) { - return new ApiTokenGuard($app['request']); + return new ApiTokenGuard($app['request'], $app->make(LoginService::class)); }); Auth::extend('ldap-session', function ($app, $name, array $config) { $provider = Auth::createUserProvider($config['provider']); + return new LdapSessionGuard( $name, $provider, - $this->app['session.store'], + $app['session.store'], $app[LdapService::class], $app[RegistrationService::class] ); }); - Auth::extend('saml2-session', function ($app, $name, array $config) { + Auth::extend('async-external-session', function ($app, $name, array $config) { $provider = Auth::createUserProvider($config['provider']); - return new Saml2SessionGuard( + + return new AsyncExternalBaseSessionGuard( $name, $provider, - $this->app['session.store'], + $app['session.store'], $app[RegistrationService::class] ); });