D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
plib
/
modules
/
grafana
/
vendor
/
lcobucci
/
jwt
/
src
/
Validation
/
Constraint
/
Filename :
HasClaim.php
back
Copy
<?php declare (strict_types=1); namespace PleskGrafana\Lcobucci\JWT\Validation\Constraint; use PleskGrafana\Lcobucci\JWT\Token; use PleskGrafana\Lcobucci\JWT\UnencryptedToken; use PleskGrafana\Lcobucci\JWT\Validation\Constraint; use PleskGrafana\Lcobucci\JWT\Validation\ConstraintViolation; use function in_array; final class HasClaim implements Constraint { /** @param non-empty-string $claim */ public function __construct(private readonly string $claim) { if (in_array($claim, Token\RegisteredClaims::ALL, \true)) { throw CannotValidateARegisteredClaim::create($claim); } } 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); } } }