auth.config.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. declare(strict_types=1);
  3. namespace Shlinkio\Shlink\Rest;
  4. use Laminas\ServiceManager\AbstractFactory\ConfigAbstractFactory;
  5. return [
  6. 'auth' => [
  7. 'routes_whitelist' => [
  8. Action\HealthAction::class,
  9. Action\ShortUrl\SingleStepCreateShortUrlAction::class,
  10. ],
  11. 'plugins' => [
  12. 'factories' => [
  13. Authentication\Plugin\ApiKeyHeaderPlugin::class => ConfigAbstractFactory::class,
  14. ],
  15. 'aliases' => [
  16. Authentication\Plugin\ApiKeyHeaderPlugin::HEADER_NAME =>
  17. Authentication\Plugin\ApiKeyHeaderPlugin::class,
  18. ],
  19. ],
  20. ],
  21. 'dependencies' => [
  22. 'factories' => [
  23. Authentication\AuthenticationPluginManager::class =>
  24. Authentication\AuthenticationPluginManagerFactory::class,
  25. Authentication\RequestToHttpAuthPlugin::class => ConfigAbstractFactory::class,
  26. Middleware\AuthenticationMiddleware::class => ConfigAbstractFactory::class,
  27. ],
  28. ],
  29. ConfigAbstractFactory::class => [
  30. Authentication\Plugin\ApiKeyHeaderPlugin::class => [Service\ApiKeyService::class],
  31. Authentication\RequestToHttpAuthPlugin::class => [Authentication\AuthenticationPluginManager::class],
  32. Middleware\AuthenticationMiddleware::class => [
  33. Authentication\RequestToHttpAuthPlugin::class,
  34. 'config.auth.routes_whitelist',
  35. ],
  36. ],
  37. ];