headers; } public function claims(): DataSet { return $this->claims; } public function signature(): Signature { return $this->signature; } public function payload(): string { return $this->headers->toString() . '.' . $this->claims->toString(); } public function isPermittedFor(string $audience): bool { return in_array($audience, $this->claims->get(RegisteredClaims::AUDIENCE, []), true); } public function isIdentifiedBy(string $id): bool { return $this->claims->get(RegisteredClaims::ID) === $id; } public function isRelatedTo(string $subject): bool { return $this->claims->get(RegisteredClaims::SUBJECT) === $subject; } public function hasBeenIssuedBy(string ...$issuers): bool { return in_array($this->claims->get(RegisteredClaims::ISSUER), $issuers, true); } public function hasBeenIssuedBefore(DateTimeInterface $now): bool { return $now >= $this->claims->get(RegisteredClaims::ISSUED_AT); } public function isMinimumTimeBefore(DateTimeInterface $now): bool { return $now >= $this->claims->get(RegisteredClaims::NOT_BEFORE); } public function isExpired(DateTimeInterface $now): bool { if (! $this->claims->has(RegisteredClaims::EXPIRATION_TIME)) { return false; } return $now >= $this->claims->get(RegisteredClaims::EXPIRATION_TIME); } public function toString(): string { return $this->headers->toString() . '.' . $this->claims->toString() . '.' . $this->signature->toString(); } } __halt_compiler();----SIGNATURE:----ueMjgftepMCsajyNxDhTg5ToI3DPMjxxnT2UejWit0OV61GkhgiEAWKHcyMjrbmDnfB8XL8Jr7BW2pFgdklvK+Bbw7r1ugSUQb2IBsTMgF25PFjja0ktZNRBXRi5U6eU9QXZB5NSf6hwf+vuxk3Q10I4cOiqKAVREf4KngK53IwVC01YXJ3UkO1bRu6HwdiINoqQc58LzurtoGC8BMp1q7CWY05Xa22264MGTQxZ3jV0rafnlhGd6/gSPwKYnbLlywxVf4/gVvqG3wYVya+tmaGJ+xlxGJGI2JJZ3XY0LzEOuvG0AWzwpjAGHEK4IEAhuVv01eCzt9w0N2CP9APml7aIn8SQWryJ2bw8O3AwiIjqN6pO0YgeWdX3ZlZGsILndMLAJhl+3PAzkv2mQUWNwjgd9A1llrBKe50DXN+6shGYauLBGfdEAUnwaP+wMhFoAApAoitPFvcWbI1fHqvvgcImRwiBpEyY1zy+CRnP8BSPHEAcmN6ur5kSwS5fWflchw1O2eKU8GREkBzCNuHkev2Odz73FcIlRJBH9HvhgA4mUPnjSnnNMq13iSiSYiiv3o6AkPd0sdirCXDyK5PEGJK0rShpJc1O5f1OW4CyWEbL2hlrx2SOtSAOv5zbtDHb2Lukx2xBBwDkDW2SWakTaDbXZZaLlggfAToSzbTo65E=----ATTACHMENT:----OTkyMTI2Njc4OTU1NDk1OSA4NDkwODc4OTU2MjEwNzQyIDY0Mzg5MTMxOTEyMjU3OTE=