Skip to content

Commit

Permalink
Updating with LdapRecord v3 compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
stevebauman committed Apr 20, 2023
1 parent 5f36d4b commit 1f30194
Show file tree
Hide file tree
Showing 25 changed files with 139 additions and 237 deletions.
7 changes: 1 addition & 6 deletions .styleci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
preset: laravel
enabled:
- phpdoc_align
- phpdoc_separation
- unalign_double_arrow
disabled:
- laravel_phpdoc_alignment
- laravel_phpdoc_separation
- no_superfluous_phpdoc_tags
10 changes: 5 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.3",
"php": ">=8.1",
"ext-ldap": "*",
"ext-json": "*",
"ramsey/uuid": "*",
"directorytree/ldaprecord": "^2.4.4",
"illuminate/support": "^5.6|^6.0|^7.0|^8.0|^9.0|^10.0"
"directorytree/ldaprecord": "v3.0.x-dev",
"illuminate/support": "^8.0|^9.0|^10.0"
},
"require-dev": {
"mockery/mockery": "^1.0",
"phpunit/phpunit": "^7.0|^8.0|^9.0",
"orchestra/testbench": "^3.7|^4.0|^5.0|^6.0|^7.0",
"phpunit/phpunit": "^8.0|^9.0",
"orchestra/testbench": "^6.0|^7.0|^8.0",
"spatie/ray": "^1.28",
"laravel/sanctum": "*"
},
Expand Down
2 changes: 1 addition & 1 deletion src/Auth/ListensForLdapBindFailure.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static function setErrorHandler(Closure $callback)
*/
public function listenForLdapBindFailure()
{
$dispatcher = Container::getInstance()->getEventDispatcher();
$dispatcher = Container::getDispatcher();

$isOnLastHost = true;

Expand Down
6 changes: 1 addition & 5 deletions src/DetectsSoftDeletes.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,8 @@ trait DetectsSoftDeletes
{
/**
* Determine if the model is using soft-deletes.
*
* @param Model $model
*
* @return bool
*/
protected function isUsingSoftDeletes(Model $model)
protected function isUsingSoftDeletes(Model $model): bool
{
return method_exists($model, 'trashed');
}
Expand Down
28 changes: 6 additions & 22 deletions src/ImportableFromLdap.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,64 +6,48 @@ trait ImportableFromLdap
{
/**
* Get the database column name of the domain.
*
* @return string
*/
public function getLdapDomainColumn()
public function getLdapDomainColumn(): string
{
return 'domain';
}

/**
* Get the models LDAP domain.
*
* @return string
*/
public function getLdapDomain()
public function getLdapDomain(): ?string
{
return $this->{$this->getLdapDomainColumn()};
}

/**
* Set the models LDAP domain.
*
* @param string $domain
*
* @return void
*/
public function setLdapDomain($domain)
public function setLdapDomain(?string $domain): void
{
$this->{$this->getLdapDomainColumn()} = $domain;
}

/**
* Get the models LDAP GUID database column name.
*
* @return string
*/
public function getLdapGuidColumn()
public function getLdapGuidColumn(): string
{
return 'guid';
}

/**
* Get the models LDAP GUID.
*
* @return string
*/
public function getLdapGuid()
public function getLdapGuid(): ?string
{
return $this->{$this->getLdapGuidColumn()};
}

/**
* Set the models LDAP GUID.
*
* @param string $guid
*
* @return void
*/
public function setLdapGuid($guid)
public function setLdapGuid(?string $guid): void
{
$this->{$this->getLdapGuidColumn()} = $guid;
}
Expand Down
57 changes: 12 additions & 45 deletions src/LdapAuthServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@ class LdapAuthServiceProvider extends ServiceProvider
{
/**
* Run service provider boot operations.
*
* @return void
*/
public function boot()
public function boot(): void
{
$this->loadTranslationsFrom(__DIR__.'/../resources/lang/', 'ldap');

Expand All @@ -30,20 +28,16 @@ public function boot()

/**
* Register the LDAP auth commands.
*
* @return void
*/
protected function registerCommands()
protected function registerCommands(): void
{
$this->commands([ImportLdapUsers::class]);
}

/**
* Register the LDAP auth migrations.
*
* @return void
*/
protected function registerMigrations()
protected function registerMigrations(): void
{
if (! $this->app->runningInConsole()) {
return;
Expand All @@ -58,10 +52,8 @@ protected function registerMigrations()

/**
* Register the LDAP auth provider.
*
* @return void
*/
protected function registerAuthProvider()
protected function registerAuthProvider(): void
{
Auth::provider('ldap', function ($app, array $config) {
return array_key_exists('database', $config)
Expand All @@ -72,23 +64,17 @@ protected function registerAuthProvider()

/**
* Registers the login controller listener to handle LDAP errors.
*
* @return void
*/
protected function registerLoginControllerListeners()
protected function registerLoginControllerListeners(): void
{
BindFailureListener::usingLaravelUi();
BindFailureListener::usingLaravelJetstream();
}

/**
* Get a new database user provider.
*
* @param array $config
*
* @return DatabaseUserProvider
*/
protected function makeDatabaseUserProvider(array $config)
protected function makeDatabaseUserProvider(array $config): DatabaseUserProvider
{
return app(DatabaseUserProvider::class, [
'users' => $this->makeLdapUserRepository($config),
Expand All @@ -100,12 +86,8 @@ protected function makeDatabaseUserProvider(array $config)

/**
* Make a new plain LDAP user provider.
*
* @param array $config
*
* @return NoDatabaseUserProvider
*/
protected function makePlainUserProvider(array $config)
protected function makePlainUserProvider(array $config): NoDatabaseUserProvider
{
return app(NoDatabaseUserProvider::class, [
'users' => $this->makeLdapUserRepository($config),
Expand All @@ -115,12 +97,8 @@ protected function makePlainUserProvider(array $config)

/**
* Make a new Eloquent user provider.
*
* @param array $config
*
* @return EloquentUserProvider
*/
protected function makeEloquentUserProvider($config)
protected function makeEloquentUserProvider(array $config): EloquentUserProvider
{
return app(EloquentUserProvider::class, [
'hasher' => $this->app->make('hash'),
Expand All @@ -130,36 +108,25 @@ protected function makeEloquentUserProvider($config)

/**
* Make a new LDAP user authenticator.
*
* @param array $config
*
* @return LdapUserAuthenticator
*/
protected function makeLdapUserAuthenticator(array $config)
protected function makeLdapUserAuthenticator(array $config): LdapUserAuthenticator
{
return app(LdapUserAuthenticator::class, ['rules' => $config['rules'] ?? []]);
}

/**
* Make a new LDAP user repository.
*
* @param array $config
*
* @return LdapUserRepository
*/
protected function makeLdapUserRepository(array $config)
protected function makeLdapUserRepository(array $config): LdapUserRepository
{

return app(LdapUserRepository::class, ['model' => $config['model']]);
}

/**
* Make a new LDAP user importer.
*
* @param array $config
*
* @return UserSynchronizer
*/
protected function makeLdapUserSynchronizer(array $config)
protected function makeLdapUserSynchronizer(array $config): UserSynchronizer
{
return app(UserSynchronizer::class, [
'eloquentModel' => $config['model'],
Expand Down
28 changes: 6 additions & 22 deletions src/LdapImportable.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,31 @@ interface LdapImportable
{
/**
* Get the database column name for the LDAP domain.
*
* @return string
*/
public function getLdapDomainColumn();
public function getLdapDomainColumn(): string;

/**
* Get the models LDAP domain.
*
* @return string
*/
public function getLdapDomain();
public function getLdapDomain(): ?string;

/**
* Set the models LDAP domain.
*
* @param string $domain
*
* @return void
*/
public function setLdapDomain($domain);
public function setLdapDomain(?string $domain): void;

/**
* Get the database column name for the LDAP guid.
*
* @return string
*/
public function getLdapGuidColumn();
public function getLdapGuidColumn(): string;

/**
* Get the models LDAP GUID.
*
* @return string
*/
public function getLdapGuid();
public function getLdapGuid(): ?string;

/**
* Set the models LDAP GUID.
*
* @param string $guid
*
* @return void
*/
public function setLdapGuid($guid);
public function setLdapGuid(?string $guid): void;
}
2 changes: 1 addition & 1 deletion src/LdapRecord.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class LdapRecord
*
* @var bool
*/
public static $failingQuietly = true;
public static bool $failingQuietly = true;

/**
* Don't catch exceptions during authentication.
Expand Down
Loading

0 comments on commit 1f30194

Please sign in to comment.