|
24 | 24 | use SimpleSAML\OpenID\Federation\Factories\TrustChainFactory; |
25 | 25 | use SimpleSAML\OpenID\Federation\Factories\TrustMarkDelegationFactory; |
26 | 26 | use SimpleSAML\OpenID\Federation\Factories\TrustMarkFactory; |
| 27 | +use SimpleSAML\OpenID\Federation\Factories\TrustMarkStatusFactory; |
27 | 28 | use SimpleSAML\OpenID\Federation\MetadataPolicyApplicator; |
28 | 29 | use SimpleSAML\OpenID\Federation\MetadataPolicyResolver; |
29 | 30 | use SimpleSAML\OpenID\Federation\TrustChainResolver; |
30 | 31 | use SimpleSAML\OpenID\Federation\TrustMarkFetcher; |
| 32 | +use SimpleSAML\OpenID\Federation\TrustMarkStatusFetcher; |
31 | 33 | use SimpleSAML\OpenID\Federation\TrustMarkValidator; |
32 | 34 | use SimpleSAML\OpenID\Jwks\Factories\JwksFactory; |
33 | 35 | use SimpleSAML\OpenID\Jws\Factories\JwsParserFactory; |
@@ -101,6 +103,10 @@ class Federation |
101 | 103 |
|
102 | 104 | protected ?TrustMarkFetcher $trustMarkFetcher = null; |
103 | 105 |
|
| 106 | + protected ?TrustMarkStatusFactory $trustMarkStatusFactory = null; |
| 107 | + |
| 108 | + protected ?TrustMarkStatusFetcher $trustMarkStatusFetcher = null; |
| 109 | + |
104 | 110 |
|
105 | 111 | public function __construct( |
106 | 112 | protected readonly SupportedAlgorithms $supportedAlgorithms = new SupportedAlgorithms(), |
@@ -248,12 +254,39 @@ public function trustMarkDelegationFactory(): TrustMarkDelegationFactory |
248 | 254 | } |
249 | 255 |
|
250 | 256 |
|
| 257 | + public function trustMarkStatusFactory(): TrustMarkStatusFactory |
| 258 | + { |
| 259 | + return $this->trustMarkStatusFactory ??= new TrustMarkStatusFactory( |
| 260 | + $this->jwsParser(), |
| 261 | + $this->jwsVerifierDecorator(), |
| 262 | + $this->jwksFactory(), |
| 263 | + $this->jwsSerializerManagerDecorator(), |
| 264 | + $this->timestampValidationLeewayDecorator, |
| 265 | + $this->helpers(), |
| 266 | + $this->claimFactory(), |
| 267 | + ); |
| 268 | + } |
| 269 | + |
| 270 | + |
| 271 | + public function trustMarkStatusFetcher(): TrustMarkStatusFetcher |
| 272 | + { |
| 273 | + return $this->trustMarkStatusFetcher ??= new TrustMarkStatusFetcher( |
| 274 | + $this->trustMarkStatusFactory(), |
| 275 | + $this->artifactFetcher(), |
| 276 | + $this->maxCacheDurationDecorator, |
| 277 | + $this->helpers(), |
| 278 | + $this->logger, |
| 279 | + ); |
| 280 | + } |
| 281 | + |
| 282 | + |
251 | 283 | public function trustMarkValidator(): TrustMarkValidator |
252 | 284 | { |
253 | 285 | return $this->trustMarkValidator ??= new TrustMarkValidator( |
254 | 286 | $this->trustChainResolver(), |
255 | 287 | $this->trustMarkFactory(), |
256 | 288 | $this->trustMarkDelegationFactory(), |
| 289 | + $this->trustMarkStatusFetcher(), |
257 | 290 | $this->maxCacheDurationDecorator, |
258 | 291 | $this->cacheDecorator(), |
259 | 292 | $this->logger, |
|
0 commit comments