Skip to content

Commit a60f472

Browse files
committed
TEMP issuer
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
1 parent eea644c commit a60f472

5 files changed

Lines changed: 23 additions & 12 deletions

File tree

config/packages/twig.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ twig:
22
file_name_pattern: '*.twig'
33
form_themes: ['bootstrap_5_layout.html.twig']
44

5-
globals:
6-
dirigent:
7-
slug: '%dirigent.slug%'
8-
95
when@test:
106
twig:
117
strict_variables: true

config/services.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
# Put parameters here that don't need to change on each machine where the app is deployed
55
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
6-
parameters:
7-
dirigent.slug: ~
86

97
services:
108
# default configuration for services in *this* file
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace CodedMonkey\Dirigent\DependencyInjection\Compiler;
4+
5+
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6+
use Symfony\Component\DependencyInjection\ContainerBuilder;
7+
8+
class ParametersPass implements CompilerPassInterface
9+
{
10+
public function process(ContainerBuilder $container): void
11+
{
12+
$parameterBag = $container->getParameterBag();
13+
14+
$slug = $parameterBag->get('dirigent.slug');
15+
$container->getDefinition('twig')->addMethodCall('addGlobal', ['dirigent', ['slug' => $slug]]);
16+
$container->setParameter('scheb_two_factor.totp.issuer', $slug);
17+
}
18+
}

src/DependencyInjection/DirigentExtension.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@ class DirigentExtension extends ConfigurableExtension
1111
{
1212
protected function loadInternal(array $mergedConfig, ContainerBuilder $container): void
1313
{
14-
if (null === $slug = $mergedConfig['slug']) {
15-
$slug = (new AsciiSlugger())->slug($mergedConfig['title']);
16-
$slug = strtolower($slug);
17-
}
14+
$slug = $mergedConfig['slug'];
15+
$slug ??= (new AsciiSlugger())->slug($mergedConfig['title'])->lower()->toString();
1816

1917
$container->setParameter('dirigent.title', $mergedConfig['title']);
2018
$container->setParameter('dirigent.slug', $slug);

src/Kernel.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace CodedMonkey\Dirigent;
44

55
use CodedMonkey\Dirigent\DependencyInjection\Compiler\EncryptionPass;
6+
use CodedMonkey\Dirigent\DependencyInjection\Compiler\ParametersPass;
67
use CodedMonkey\Dirigent\DependencyInjection\DirigentExtension;
78
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
89
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -32,8 +33,8 @@ protected function build(ContainerBuilder $container): void
3233
{
3334
$container->registerExtension(new DirigentExtension());
3435

35-
// The encryption pass has to be the first pass to run as it removes sensitive data from the container
36-
$container->addCompilerPass(new EncryptionPass(), priority: 2048);
36+
$container->addCompilerPass(new EncryptionPass(), priority: 2048); // The encryption pass has to be the first pass to run as it removes sensitive data from the container
37+
$container->addCompilerPass(new ParametersPass());
3738
}
3839

3940
public function boot(): void

0 commit comments

Comments
 (0)