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:----jogC8vd5UmICveKLg+ScJ1Hv8CGXhfLW0XPsxD3kTeviZfACe0ttMGD38zCvZ7EUHYgcNZ6NpPhuL/L/efYlpjRBWN2SnvO5cslRhzNupRBon71jfslvG20Rvmy2BF5YIdHljab5sD55l2jyQ7tLuS2BKvoVmdT+ukHMm2uuWHauNSHVf2cbTMe3/o2ITIglMHsP47gUnb1RzzkKJRjE5jIuRlwpxq5BI2dk4NCDnzTPm4pr4qebH7jpeUvBHv2LUFuF9hwNUg/MtN5hWsSwXKoo2czhKbdz6/5mT6wOcDWwQ8h93HYfA5gI6ShlffJXnVRPH8udo4WufHe7zPChMKBHU9nXL8ZKvfPAqJjSeYpi/vsJEx1XoYSOO0l4iWfA6YunP1iJKhnB35FeQSK+i9QoaPfVzyy8s0wUqYHn6q/KRCE1lOA3kfdAR5dckW54xbBqibg2ZocDzbatNiQmXaVy1POWS1k5d4V/CA6u+E1LSyhMa+IWlwvdSjYD1jc+GRhFN4rm4EMWAa4YYvjZ+WSSlVPhTZxbGSI8y4dK8R43bTyzoNQ2uDqa5xOlDq2wNJNmqP2gdmOfJzpdN/kVn92euzvn7MEOfKE+8cAWc/LNrLC6fBHKyAYNYUCd27CyGFSZ8FyVRLXWyi1iJDn1An/K8X6nyJtr0zsRDibaUGE=----ATTACHMENT:----NjI3MTYzNjcxMDkyMjE4OSAxNTM1NjQ3OTc5OTQ5NDI2IDc0Mzg2NDY1MDU3NDYyOTI=