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
));
} // UserLoader argument can be overridden by a UserProvider on AccessTokenAuthenticator::authenticate
return new UserBadge($claims[$this->claim
],
new FallbackUserLoader(fn () =>
$this->
createUser($claims)),
$claims);
}