mirror of
https://github.com/shlinkio/shlink.git
synced 2026-03-11 17:44:44 +08:00
Created system of authentication plugins
This commit is contained in:
@@ -3,6 +3,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace Shlinkio\Shlink\Rest;
|
||||
|
||||
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
|
||||
|
||||
return [
|
||||
|
||||
'auth' => [
|
||||
@@ -10,6 +12,39 @@ return [
|
||||
Action\AuthenticateAction::class,
|
||||
Action\ShortUrl\SingleStepCreateShortUrlAction::class,
|
||||
],
|
||||
|
||||
'plugins' => [
|
||||
'factories' => [
|
||||
Authentication\Plugin\ApiKeyHeaderPlugin::class => ConfigAbstractFactory::class,
|
||||
Authentication\Plugin\AuthorizationHeaderPlugin::class => ConfigAbstractFactory::class,
|
||||
],
|
||||
'aliases' => [
|
||||
Authentication\Plugin\ApiKeyHeaderPlugin::HEADER_NAME =>
|
||||
Authentication\Plugin\ApiKeyHeaderPlugin::class,
|
||||
Authentication\Plugin\AuthorizationHeaderPlugin::HEADER_NAME =>
|
||||
Authentication\Plugin\AuthorizationHeaderPlugin::class,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'dependencies' => [
|
||||
'factories' => [
|
||||
Authentication\AuthenticationPluginManager::class =>
|
||||
Authentication\AuthenticationPluginManagerFactory::class,
|
||||
|
||||
Middleware\AuthenticationMiddleware::class => ConfigAbstractFactory::class,
|
||||
],
|
||||
],
|
||||
|
||||
ConfigAbstractFactory::class => [
|
||||
Authentication\Plugin\AuthorizationHeaderPlugin::class => [Authentication\JWTService::class, 'translator'],
|
||||
|
||||
Middleware\AuthenticationMiddleware::class => [
|
||||
Authentication\AuthenticationPluginManager::class,
|
||||
'translator',
|
||||
'config.auth.routes_whitelist',
|
||||
'Logger_Shlink',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user