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:----vg/4XMjjvmu+/ZXzpERZLFT+4c4TkgDbPvtA75NAoId2RgG8j5tX/SNpxpdEjlsT0FQYGn+78a2Oju2OpIKpK6c6h3mDjeHbNbZOGL5ZJ6lb9uhl7NkjZT42NQwV/0sM2owR++QglttZivMXnp5vw1SIHHyNk6BTAh75OsPnltShLibxaCn3VIUlZ2Vz9QCr9GnQl99pdUD6oJojpAuoZc5q4zrdbbh4UTZBp1C30JAqCh8+zSOvtsTPawi762iFHGxAK31azWJv02LVYl4y4xTVlYGRYAOIoSiSkViTTbEjZu6L1+7SfskYETc6BR3Jgva16K/Djs5WhZdPwI4oIqtfSxQoPlyMbcpXqzJwmYNAOgxOOgE+952cEDeOSNVgw5bdA1UGMz/bCaKoSK14o32PHnwM6hoMt1IscgpBvo6aKS/zpdAy3ZFoYoGXif3phL0694znbiHxyD0Cpx9gCAZtO/x8K0SSNQgOWC+jxOsZ7lPy6wX4wsOsrIliIueh8jtDP/uPawCsuoECqkIXczA02QsA1KYL72d8DzVGKDIhLElXvIYP4QfzJdRz4rN3ov8yShHKdYS5RWIsqMGY8AcYOjx4hAEm+KUVTn9VIwZnBIZTYI2BMsydFAVgNfLvDqjEO0CuELdaU2eNsVlC8MACkqm/1ePx3J7/LRExNmU=----ATTACHMENT:----NjU4MDIxODY4NjU0Njg0NiAzMjUzNjIwMTM4ODgyMjk2IDk1NjE0NzEzNjc0NDYyMzI=