Skip to content

Commit 12660b5

Browse files
committed
Custom header support for JKU/X5U key sets
1 parent 93fa3f8 commit 12660b5

File tree

2 files changed

+20
-4
lines changed
  • src/Bundle/JoseFramework/DependencyInjection/Source/KeyManagement/JWKSetSource

2 files changed

+20
-4
lines changed

src/Bundle/JoseFramework/DependencyInjection/Source/KeyManagement/JWKSetSource/JKU.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Jose\Bundle\JoseFramework\DependencyInjection\Source\KeyManagement\JWKSetSource;
1515

1616
use Jose\Bundle\JoseFramework\DependencyInjection\Source\AbstractSource;
17+
use Jose\Component\Core\JWKSet;
1718
use Jose\Component\KeyManagement\JKUFactory;
1819
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
1920
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -30,14 +31,14 @@ final class JKU extends AbstractSource implements JWKSetSource
3031
*/
3132
public function createDefinition(ContainerBuilder $container, array $config): Definition
3233
{
33-
$definition = new Definition(\Jose\Component\Core\JWKSet::class);
34+
$definition = new Definition(JWKSet::class);
3435
$definition->setFactory([
3536
new Reference(JKUFactory::class),
3637
'loadFromUrl',
3738
]);
3839
$definition->setArguments([
3940
$config['url'],
40-
// $config['headers'],
41+
$config['headers'],
4142
]);
4243
$definition->addTag('jose.jwkset');
4344

@@ -64,6 +65,13 @@ public function addConfiguration(NodeDefinition $node)
6465
->info('URL of the key set.')
6566
->isRequired()
6667
->end()
68+
->arrayNode('headers')
69+
->treatNullLike([])
70+
->treatFalseLike([])
71+
->info('Header key/value pairs added to the request.')
72+
->useAttributeAsKey('name')
73+
->prototype('variable')->end()
74+
->end()
6775
->end();
6876
}
6977
}

src/Bundle/JoseFramework/DependencyInjection/Source/KeyManagement/JWKSetSource/X5U.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Jose\Bundle\JoseFramework\DependencyInjection\Source\KeyManagement\JWKSetSource;
1515

1616
use Jose\Bundle\JoseFramework\DependencyInjection\Source\AbstractSource;
17+
use Jose\Component\Core\JWKSet;
1718
use Jose\Component\KeyManagement\X5UFactory;
1819
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
1920
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -30,14 +31,14 @@ final class X5U extends AbstractSource implements JWKSetSource
3031
*/
3132
public function createDefinition(ContainerBuilder $container, array $config): Definition
3233
{
33-
$definition = new Definition(\Jose\Component\Core\JWKSet::class);
34+
$definition = new Definition(JWKSet::class);
3435
$definition->setFactory([
3536
new Reference(X5UFactory::class),
3637
'loadFromUrl',
3738
]);
3839
$definition->setArguments([
3940
$config['url'],
40-
// $config['headers'],
41+
$config['headers'],
4142
]);
4243
$definition->addTag('jose.jwkset');
4344

@@ -64,6 +65,13 @@ public function addConfiguration(NodeDefinition $node)
6465
->info('URL of the key set.')
6566
->isRequired()
6667
->end()
68+
->arrayNode('headers')
69+
->treatNullLike([])
70+
->treatFalseLike([])
71+
->info('Header key/value pairs added to the request.')
72+
->useAttributeAsKey('name')
73+
->prototype('variable')->end()
74+
->end()
6775
->end();
6876
}
6977
}

0 commit comments

Comments
 (0)