From e2ab5e1243287ac699bf89242e5f4b5679d246d6 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Mon, 5 Jun 2023 16:05:06 +0200 Subject: [PATCH] Enable substitution --- DependencyInjection/Configuration.php | 4 ++++ .../SpomkyLabsLexikJoseExtension.php | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 284fa55..f969bcc 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -48,6 +48,10 @@ public function getConfigTreeBuilder(): TreeBuilder ->min(0) ->defaultValue(1800) ->end() + ->booleanNode('override_encoder') + ->info('Substitute Lexik JWT encoder by the Jose one.') + ->defaultValue(true) + ->end() ->scalarNode('key_set') ->info('Private/Shared keys used by this server to validate signed tokens. Must be a JWKSet object.') ->end() diff --git a/DependencyInjection/SpomkyLabsLexikJoseExtension.php b/DependencyInjection/SpomkyLabsLexikJoseExtension.php index 594febb..5149119 100644 --- a/DependencyInjection/SpomkyLabsLexikJoseExtension.php +++ b/DependencyInjection/SpomkyLabsLexikJoseExtension.php @@ -129,12 +129,14 @@ public function prepend(ContainerBuilder $container): void $this->enableEncryptionSupport($container, $bridgeConfig, $isDebug); } - $lexikConfig = [ - 'encoder' => [ - 'service' => LexikJoseEncoder::class, - ], - ]; - $container->prependExtensionConfig('lexik_jwt_authentication', $lexikConfig); + if ($bridgeConfig['override_encoder']) { + $lexikConfig = [ + 'encoder' => [ + 'service' => LexikJoseEncoder::class, + ], + ]; + $container->prependExtensionConfig('lexik_jwt_authentication', $lexikConfig); + } } private function enableEncryptionSupport(ContainerBuilder $container, array $bridgeConfig, bool $isDebug): void