vendor/league/oauth2-server-bundle/src/Model/AccessToken.php line 9

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace League\Bundle\OAuth2ServerBundle\Model;
  4. use League\Bundle\OAuth2ServerBundle\ValueObject\Scope;
  5. class AccessToken implements AccessTokenInterface
  6. {
  7.     /**
  8.      * @var string
  9.      */
  10.     private $identifier;
  11.     /**
  12.      * @var \DateTimeInterface
  13.      */
  14.     private $expiry;
  15.     /**
  16.      * @var string|null
  17.      */
  18.     private $userIdentifier;
  19.     /**
  20.      * @var ClientInterface
  21.      */
  22.     private $client;
  23.     /**
  24.      * @var list<Scope>
  25.      */
  26.     private $scopes;
  27.     /**
  28.      * @var bool
  29.      */
  30.     private $revoked false;
  31.     /**
  32.      * @param list<Scope> $scopes
  33.      *
  34.      * @psalm-mutation-free
  35.      */
  36.     public function __construct(
  37.         string $identifier,
  38.         \DateTimeInterface $expiry,
  39.         ClientInterface $client,
  40.         ?string $userIdentifier,
  41.         array $scopes
  42.     ) {
  43.         $this->identifier $identifier;
  44.         $this->expiry $expiry;
  45.         $this->client $client;
  46.         $this->userIdentifier $userIdentifier;
  47.         $this->scopes $scopes;
  48.     }
  49.     /**
  50.      * @psalm-mutation-free
  51.      */
  52.     public function __toString(): string
  53.     {
  54.         return $this->getIdentifier();
  55.     }
  56.     /**
  57.      * @psalm-mutation-free
  58.      */
  59.     public function getIdentifier(): string
  60.     {
  61.         return $this->identifier;
  62.     }
  63.     /**
  64.      * @psalm-mutation-free
  65.      */
  66.     public function getExpiry(): \DateTimeInterface
  67.     {
  68.         return $this->expiry;
  69.     }
  70.     /**
  71.      * @psalm-mutation-free
  72.      */
  73.     public function getUserIdentifier(): ?string
  74.     {
  75.         return $this->userIdentifier;
  76.     }
  77.     /**
  78.      * @psalm-mutation-free
  79.      */
  80.     public function getClient(): ClientInterface
  81.     {
  82.         return $this->client;
  83.     }
  84.     /**
  85.      * @return list<Scope>
  86.      *
  87.      * @psalm-mutation-free
  88.      */
  89.     public function getScopes(): array
  90.     {
  91.         return $this->scopes;
  92.     }
  93.     /**
  94.      * @psalm-mutation-free
  95.      */
  96.     public function isRevoked(): bool
  97.     {
  98.         return $this->revoked;
  99.     }
  100.     public function revoke(): AccessTokenInterface
  101.     {
  102.         $this->revoked true;
  103.         return $this;
  104.     }
  105. }