| Conditions | 6 |
| Paths | 4 |
| Total Lines | 22 |
| Code Lines | 12 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 11 |
| CRAP Score | 6.1308 |
| Changes | 0 | ||
| 1 | <?php |
||
| 12 | 2 | public function __invoke(ContainerInterface $container): TokenManager |
|
| 13 | { |
||
| 14 | 2 | $config = $container->get('config')['token_manager'] ?? null; |
|
| 15 | 2 | if ($config === null) { |
|
| 16 | 1 | throw new ConfigException("['token_manager'] config key is missing."); |
|
| 17 | } |
||
| 18 | 1 | if (mb_strlen($config['private_key'] ?? '') < 32) { |
|
| 19 | throw new ConfigException("['tokenManager']['private_key'] config key is must be at least 32 chars long."); |
||
| 20 | } |
||
| 21 | |||
| 22 | 1 | if (isset($config['default_expiry']) && ( |
|
| 23 | 1 | !is_numeric($config['default_expiry']) || $config['default_expiry'] < 0 |
|
| 24 | )) { |
||
| 25 | throw new ConfigException("['tokenManager']['default_expiry'] must be numeric > 0"); |
||
| 26 | } |
||
| 27 | |||
| 28 | 1 | $defaultExpiry = $config['default_expiry'] ?? TokenManager::DEFAULT_EXPIRY; |
|
| 29 | |||
| 30 | 1 | $issuer = $config['default_issuer'] ?? $this->getDefaultIssuer(); |
|
| 31 | 1 | $audience = $config['default_audience'] ?? $this->getDefaultIssuer(); |
|
| 32 | |||
| 33 | 1 | return new TokenManager($config['private_key'], $defaultExpiry, $issuer, $audience); |
|
| 34 | } |
||
| 41 |