One Hat Cyber Team
Your IP:
216.73.216.102
Server IP:
198.54.114.155
Server:
Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
5.6.40
Create File
|
Create Folder
Execute
Dir :
~
/
home
/
fluxyjvi
/
www
/
assets
/
images
/
Edit File:
Validation.tar
Constraint/IdentifiedBy.php 0000644 00000001124 15107350744 0011744 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Token; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; final class IdentifiedBy implements Constraint { private string $id; public function __construct(string $id) { $this->id = $id; } public function assert(Token $token): void { if (! $token->isIdentifiedBy($this->id)) { throw new ConstraintViolation( 'The token is not identified with the expected ID' ); } } } Constraint/IssuedBy.php 0000644 00000001205 15107350744 0011134 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Token; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; final class IssuedBy implements Constraint { /** @var string[] */ private array $issuers; public function __construct(string ...$issuers) { $this->issuers = $issuers; } public function assert(Token $token): void { if (! $token->hasBeenIssuedBy(...$this->issuers)) { throw new ConstraintViolation( 'The token was not issued by the given issuers' ); } } } Constraint/RelatedTo.php 0000644 00000001147 15107350745 0011276 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Token; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; final class RelatedTo implements Constraint { private string $subject; public function __construct(string $subject) { $this->subject = $subject; } public function assert(Token $token): void { if (! $token->isRelatedTo($this->subject)) { throw new ConstraintViolation( 'The token is not related to the expected subject' ); } } } Constraint/LeewayCannotBeNegative.php 0000644 00000000523 15107350745 0013733 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use InvalidArgumentException; use Lcobucci\JWT\Exception; final class LeewayCannotBeNegative extends InvalidArgumentException implements Exception { public static function create(): self { return new self('Leeway cannot be negative'); } } Constraint/ValidAt.php 0000644 00000003611 15107350746 0010736 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use DateInterval; use DateTimeInterface; use Lcobucci\Clock\Clock; use Lcobucci\JWT\Token; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; final class ValidAt implements Constraint { private Clock $clock; private DateInterval $leeway; public function __construct(Clock $clock, ?DateInterval $leeway = null) { $this->clock = $clock; $this->leeway = $this->guardLeeway($leeway); } private function guardLeeway(?DateInterval $leeway): DateInterval { if ($leeway === null) { return new DateInterval('PT0S'); } if ($leeway->invert === 1) { throw LeewayCannotBeNegative::create(); } return $leeway; } public function assert(Token $token): void { $now = $this->clock->now(); $this->assertIssueTime($token, $now->add($this->leeway)); $this->assertMinimumTime($token, $now->add($this->leeway)); $this->assertExpiration($token, $now->sub($this->leeway)); } /** @throws ConstraintViolation */ private function assertExpiration(Token $token, DateTimeInterface $now): void { if ($token->isExpired($now)) { throw new ConstraintViolation('The token is expired'); } } /** @throws ConstraintViolation */ private function assertMinimumTime(Token $token, DateTimeInterface $now): void { if (! $token->isMinimumTimeBefore($now)) { throw new ConstraintViolation('The token cannot be used yet'); } } /** @throws ConstraintViolation */ private function assertIssueTime(Token $token, DateTimeInterface $now): void { if (! $token->hasBeenIssuedBefore($now)) { throw new ConstraintViolation('The token was issued in the future'); } } } Constraint/PermittedFor.php 0000644 00000001166 15107350746 0012021 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Token; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; final class PermittedFor implements Constraint { private string $audience; public function __construct(string $audience) { $this->audience = $audience; } public function assert(Token $token): void { if (! $token->isPermittedFor($this->audience)) { throw new ConstraintViolation( 'The token is not allowed to be used by this audience' ); } } } Constraint/SignedWith.php 0000644 00000001744 15107350747 0011465 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Signer; use Lcobucci\JWT\Token; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; final class SignedWith implements Constraint { private Signer $signer; private Signer\Key $key; public function __construct(Signer $signer, Signer\Key $key) { $this->signer = $signer; $this->key = $key; } public function assert(Token $token): void { if (! $token instanceof Token\Plain) { throw new ConstraintViolation('You should pass a plain token'); } if ($token->headers()->get('alg') !== $this->signer->algorithmId()) { throw new ConstraintViolation('Token signer mismatch'); } if (! $this->signer->verify($token->signature()->hash(), $token->payload(), $this->key)) { throw new ConstraintViolation('Token signature mismatch'); } } } NoConstraintsGiven.php 0000644 00000000310 15107350747 0011055 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation; use Lcobucci\JWT\Exception; use RuntimeException; final class NoConstraintsGiven extends RuntimeException implements Exception { } ConstraintViolation.php 0000644 00000000311 15107350750 0011264 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation; use Lcobucci\JWT\Exception; use RuntimeException; final class ConstraintViolation extends RuntimeException implements Exception { } Validator.php 0000644 00000002555 15107350750 0007214 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation; use Lcobucci\JWT\Token; final class Validator implements \Lcobucci\JWT\Validator { public function assert(Token $token, Constraint ...$constraints): void { if ($constraints === []) { throw new NoConstraintsGiven('No constraint given.'); } $violations = []; foreach ($constraints as $constraint) { $this->checkConstraint($constraint, $token, $violations); } if ($violations) { throw RequiredConstraintsViolated::fromViolations(...$violations); } } /** @param ConstraintViolation[] $violations */ private function checkConstraint( Constraint $constraint, Token $token, array &$violations ): void { try { $constraint->assert($token); } catch (ConstraintViolation $e) { $violations[] = $e; } } public function validate(Token $token, Constraint ...$constraints): bool { if ($constraints === []) { throw new NoConstraintsGiven('No constraint given.'); } try { foreach ($constraints as $constraint) { $constraint->assert($token); } return true; } catch (ConstraintViolation $e) { return false; } } } Constraint.php 0000644 00000000315 15107350750 0007403 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation; use Lcobucci\JWT\Token; interface Constraint { /** @throws ConstraintViolation */ public function assert(Token $token): void; } RequiredConstraintsViolated.php 0000644 00000002264 15107350751 0012765 0 ustar 00 <?php declare(strict_types=1); namespace Lcobucci\JWT\Validation; use Lcobucci\JWT\Exception; use RuntimeException; use function array_map; use function implode; final class RequiredConstraintsViolated extends RuntimeException implements Exception { /** @var ConstraintViolation[] */ private array $violations = []; public static function fromViolations(ConstraintViolation ...$violations): self { $exception = new self(self::buildMessage($violations)); $exception->violations = $violations; return $exception; } /** @param ConstraintViolation[] $violations */ private static function buildMessage(array $violations): string { $violations = array_map( static function (ConstraintViolation $violation): string { return '- ' . $violation->getMessage(); }, $violations ); $message = "The token violates some mandatory constraints, details:\n"; $message .= implode("\n", $violations); return $message; } /** @return ConstraintViolation[] */ public function violations(): array { return $this->violations; } }
Simpan