make(LoginService::class)); }); Auth::extend('ldap-session', function ($app, $name, array $config) { $provider = Auth::createUserProvider($config['provider']); return new LdapSessionGuard( $name, $provider, $app['session.store'], $app[LdapService::class], $app[RegistrationService::class] ); }); Auth::extend('saml2-session', function ($app, $name, array $config) { $provider = Auth::createUserProvider($config['provider']); return new Saml2SessionGuard( $name, $provider, $app['session.store'], $app[RegistrationService::class] ); }); Auth::extend('openid-session', function ($app, $name, array $config) { $provider = Auth::createUserProvider($config['provider']); return new OpenIdSessionGuard( $name, $provider, $this->app['session.store'], $app[OpenIdService::class], $app[RegistrationService::class] ); }); } /** * Register the application services. * * @return void */ public function register() { Auth::provider('external-users', function ($app, array $config) { return new ExternalBaseUserProvider($config['model']); }); } }