Server IP : 66.29.132.124 / Your IP : 18.191.26.149 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/tymon/jwt-auth/src/Claims/ |
Upload File : |
<?php /* * This file is part of jwt-auth. * * (c) Sean Tymon <tymon148@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Tymon\JWTAuth\Claims; use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Support\Jsonable; use JsonSerializable; use Tymon\JWTAuth\Contracts\Claim as ClaimContract; abstract class Claim implements Arrayable, ClaimContract, Jsonable, JsonSerializable { /** * The claim name. * * @var string */ protected $name; /** * The claim value. * * @var mixed */ private $value; /** * @param mixed $value * * @return void */ public function __construct($value) { $this->setValue($value); } /** * Set the claim value, and call a validate method. * * @param mixed $value * * @throws \Tymon\JWTAuth\Exceptions\InvalidClaimException * * @return $this */ public function setValue($value) { $this->value = $this->validateCreate($value); return $this; } /** * Get the claim value. * * @return mixed */ public function getValue() { return $this->value; } /** * Set the claim name. * * @param string $name * * @return $this */ public function setName($name) { $this->name = $name; return $this; } /** * Get the claim name. * * @return string */ public function getName() { return $this->name; } /** * Validate the claim in a standalone Claim context. * * @param mixed $value * * @return bool */ public function validateCreate($value) { return $value; } /** * Validate the Claim within a Payload context. * * @return bool */ public function validatePayload() { return $this->getValue(); } /** * Validate the Claim within a refresh context. * * @param int $refreshTTL * * @return bool */ public function validateRefresh($refreshTTL) { return $this->getValue(); } /** * Checks if the value matches the claim. * * @param mixed $value * @param bool $strict * * @return bool */ public function matches($value, $strict = true) { return $strict ? $this->value === $value : $this->value == $value; } /** * Convert the object into something JSON serializable. * * @return array */ public function jsonSerialize() { return $this->toArray(); } /** * Build a key value array comprising of the claim name and value. * * @return array */ public function toArray() { return [$this->getName() => $this->getValue()]; } /** * Get the claim as JSON. * * @param int $options * * @return string */ public function toJson($options = JSON_UNESCAPED_SLASHES) { return json_encode($this->toArray(), $options); } /** * Get the payload as a string. * * @return string */ public function __toString() { return $this->toJson(); } }