ClaimCheckerManager example

// if this check fails, an InvalidHeaderException is thrown             $headerCheckerManager->check($jws, 0);

            // Verify the claims             $checkers = [
                new Checker\IssuedAtChecker(0, false, $this->clock),
                new Checker\NotBeforeChecker(0, false, $this->clock),
                new Checker\ExpirationTimeChecker(0, false, $this->clock),
                new Checker\AudienceChecker($this->audience),
                new Checker\IssuerChecker($this->issuers),
            ];
            $claimCheckerManager = new ClaimCheckerManager($checkers);
            // if this check fails, an InvalidClaimException is thrown             $claimCheckerManager->check($claims);

            if (empty($claims[$this->claim])) {
                throw new MissingClaimException(sprintf('"%s" claim not found.', $this->claim));
            }

            // UserLoader argument can be overridden by a UserProvider on AccessTokenAuthenticator::authenticate             return new UserBadge($claims[$this->claim]new FallbackUserLoader(fn () => $this->createUser($claims))$claims);
        } catch (\Exception $e) {
            $this->logger?->error('An error occurred while decoding and validating the token.', [
                
Home | Imprint | This part of the site doesn't use cookies.