dbp / relay-core-connector-ldap-bundle
A template bundle for the Relay API gateway
Installs: 7 183
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=8.1
- ext-json: *
- api-platform/core: ^2.7.11 || ^3.2
- dbp/relay-core-bundle: ^0.1.181
- directorytree/ldaprecord: ^3.5
- illuminate/collections: ^10.48
- psr/cache: ^2.0 || ^3.0
- psr/log: ^2.0 || ^3.0
- symfony/cache: ^5.4 || ^6.4
- symfony/config: ^5.4 || ^6.4
- symfony/dependency-injection: ^5.4 || ^6.4
- symfony/event-dispatcher: ^5.4 || ^6.4
- symfony/event-dispatcher-contracts: ^2.5 || ^3
- symfony/framework-bundle: ^5.4 || ^6.4
- symfony/http-foundation: ^5.4 || ^6.4
- symfony/http-kernel: ^5.4 || ^6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.50
- phpstan/phpstan: ^1.10.59
- phpstan/phpstan-phpunit: ^1.3.16
- phpunit/phpunit: ^10.1
- symfony/browser-kit: ^5.4 || ^6.4
- symfony/http-client: ^5.4 || ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^7.0.4
- vimeo/psalm: ^5.22.2
README
The core_connector_ldap bundle provides an implementation of the AuthorizationDataProviderInterface
which retrieves user authorization data from an LDAP server.
Bundle installation
You can install the bundle directly from packagist.org.
composer require dbp/relay-core-connector-ldap-bundle
Integration into the Relay API Server
- Add the bundle to your
config/bundles.php
in front ofDbpRelayCoreBundle
:
... Dbp\Relay\CoreConnectorLdapBundle\DbpRelayCoreConnectorLdapBundle::class => ['all' => true], Dbp\Relay\CoreBundle\DbpRelayCoreBundle::class => ['all' => true], ];
If you were using the DBP API Server Template as template for your Symfony application, then this should have already been generated for you.
- Run
composer install
to clear caches
Configuration
The bundle has a roles
, a attributes
and a ldap
configuration value that you can specify in your
app, either by hard-coding it, or by referencing an environment variable.
For this create config/packages/dbp_relay_core_connector_ldap.yaml
in the app with the following
content:
dbp_relay_core_connector_ldap: roles: - name: ROLE_LIBRARY_MANAGER - name: ROLE_LIBRARY_USER attributes: - name: LIBRARY_IDS ldap: host: '%env(LDAP_AUTH_CONNECTOR_LDAP_HOST)%' base_dn: '%env(LDAP_AUTH_CONNECTOR_LDAP_BASE_DN)%' username: '%env(LDAP_AUTH_CONNECTOR_LDAP_USER)%' password: '%env(LDAP_AUTH_CONNECTOR_LDAP_PASS)%' encryption: '%env(LDAP_AUTH_CONNECTOR_LDAP_ENCRYPTION)%' attributes: identifier: '%env(LDAP_AUTH_CONNECTOR_LDAP_ATTRIBUTE_IDENTIFIER)%'
If you were using the DBP API Server Template as template for your Symfony application, then the configuration file should have already been generated for you.
For more info on bundle configuration see https://symfony.com/doc/current/bundles/configuration.html.
Development & Testing
- Install dependencies:
composer install
- Run tests:
composer test
- Run linters:
composer run lint
- Run cs-fixer:
composer run cs-fix
Bundle dependencies
Don't forget you need to pull down your dependencies in your main application if you are installing packages in a bundle.
# updates and installs dependencies of dbp/relay-core-connector-ldap-bundle
composer update dbp/relay-core-connector-ldap-bundle