// Verify the headers
$headerCheckerManager =
new Checker\
HeaderCheckerManager([ new Checker\
AlgorithmChecker([$this->signatureAlgorithm->
name()]),
],
[ new JWSTokenSupport(),
]);
// 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
));
}