/** * {@inheritdoc} */ public function decode($token) { try { $jws = $this->jwt_loader->load($token, $this->encryption_jwkset, null !== $this->encryption_jwkset); $this->jwt_loader->verify($jws, $this->signature_jwkset); return $jws->getClaims(); } catch (\Exception $e) { $reason = $this->getDecodeErrorReason($e->getMessage()); throw new JWTDecodeFailureException($reason, sprintf('Invalid JWT Token: %s', $e->getMessage()), $e); } }
/** * @param \Jose\Checker\CheckerManagerInterface $checker_manager * @param \Jose\VerifierInterface $verifier * @param \Jose\DecrypterInterface|null $decrypter * * @return \Jose\JWTLoader */ public function createJWTLoader(CheckerManagerInterface $checker_manager, VerifierInterface $verifier, DecrypterInterface $decrypter = null) { $jwt_loader = new JWTLoader($checker_manager, $verifier); if (null !== $decrypter) { $jwt_loader->enableDecryptionSupport($decrypter); } return $jwt_loader; }