![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/vendor/lcobucci/jwt/src/Validation/Constraint/ |
<?php declare(strict_types=1); namespace Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Token; use Lcobucci\JWT\UnencryptedToken; use Lcobucci\JWT\Validation\Constraint; use Lcobucci\JWT\Validation\ConstraintViolation; use function in_array; final class HasClaimWithValue implements Constraint { private string $claim; /** @var mixed */ private $expectedValue; /** @param mixed $expectedValue */ public function __construct(string $claim, $expectedValue) { if (in_array($claim, Token\RegisteredClaims::ALL, true)) { throw CannotValidateARegisteredClaim::create($claim); } $this->claim = $claim; $this->expectedValue = $expectedValue; } public function assert(Token $token): void { if (! $token instanceof UnencryptedToken) { throw ConstraintViolation::error('You should pass a plain token', $this); } $claims = $token->claims(); if (! $claims->has($this->claim)) { throw ConstraintViolation::error('The token does not have the claim "' . $this->claim . '"', $this); } if ($claims->get($this->claim) !== $this->expectedValue) { throw ConstraintViolation::error( 'The claim "' . $this->claim . '" does not have the expected value', $this ); } } }