vendor/league/oauth2-server-bundle/src/Model/AbstractClient.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace League\Bundle\OAuth2ServerBundle\Model;
  4. use League\Bundle\OAuth2ServerBundle\ValueObject\Grant;
  5. use League\Bundle\OAuth2ServerBundle\ValueObject\RedirectUri;
  6. use League\Bundle\OAuth2ServerBundle\ValueObject\Scope;
  7. /**
  8.  * @psalm-consistent-constructor
  9.  *
  10.  * @author Mathias Arlaud <mathias.arlaud@gmail.com>
  11.  */
  12. abstract class AbstractClient implements ClientInterface
  13. {
  14.     private string $name;
  15.     protected string $identifier;
  16.     private ?string $secret;
  17.     /** @var list<RedirectUri> */
  18.     private array $redirectUris = [];
  19.     /** @var list<Grant> */
  20.     private array $grants = [];
  21.     /** @var list<Scope> */
  22.     private array $scopes = [];
  23.     private bool $active true;
  24.     private bool $allowPlainTextPkce false;
  25.     /**
  26.      * @psalm-mutation-free
  27.      */
  28.     public function __construct(string $namestring $identifier, ?string $secret)
  29.     {
  30.         $this->name $name;
  31.         $this->identifier $identifier;
  32.         $this->secret $secret;
  33.     }
  34.     /**
  35.      * @psalm-mutation-free
  36.      */
  37.     public function getName(): string
  38.     {
  39.         return $this->name;
  40.     }
  41.     public function setName(string $name): ClientInterface
  42.     {
  43.         $this->name $name;
  44.         return $this;
  45.     }
  46.     /**
  47.      * @psalm-mutation-free
  48.      */
  49.     public function getIdentifier(): string
  50.     {
  51.         return $this->identifier;
  52.     }
  53.     /**
  54.      * @psalm-mutation-free
  55.      */
  56.     public function getSecret(): ?string
  57.     {
  58.         return $this->secret;
  59.     }
  60.     /**
  61.      * @return list<RedirectUri>
  62.      *
  63.      * @psalm-mutation-free
  64.      */
  65.     public function getRedirectUris(): array
  66.     {
  67.         return $this->redirectUris;
  68.     }
  69.     public function setRedirectUris(RedirectUri ...$redirectUris): ClientInterface
  70.     {
  71.         /** @var list<RedirectUri> $redirectUris */
  72.         $this->redirectUris $redirectUris;
  73.         return $this;
  74.     }
  75.     public function getGrants(): array
  76.     {
  77.         return $this->grants;
  78.     }
  79.     public function setGrants(Grant ...$grants): ClientInterface
  80.     {
  81.         /** @var list<Grant> $grants */
  82.         $this->grants $grants;
  83.         return $this;
  84.     }
  85.     /**
  86.      * @return list<Scope>
  87.      *
  88.      * @psalm-mutation-free
  89.      */
  90.     public function getScopes(): array
  91.     {
  92.         return $this->scopes;
  93.     }
  94.     public function setScopes(Scope ...$scopes): ClientInterface
  95.     {
  96.         /** @var list<Scope> $scopes */
  97.         $this->scopes $scopes;
  98.         return $this;
  99.     }
  100.     /**
  101.      * @psalm-mutation-free
  102.      */
  103.     public function isActive(): bool
  104.     {
  105.         return $this->active;
  106.     }
  107.     public function setActive(bool $active): ClientInterface
  108.     {
  109.         $this->active $active;
  110.         return $this;
  111.     }
  112.     /**
  113.      * @psalm-mutation-free
  114.      */
  115.     public function isConfidential(): bool
  116.     {
  117.         return null !== $this->secret && '' !== $this->secret;
  118.     }
  119.     /**
  120.      * @psalm-mutation-free
  121.      */
  122.     public function isPlainTextPkceAllowed(): bool
  123.     {
  124.         return $this->allowPlainTextPkce;
  125.     }
  126.     public function setAllowPlainTextPkce(bool $allowPlainTextPkce): ClientInterface
  127.     {
  128.         $this->allowPlainTextPkce $allowPlainTextPkce;
  129.         return $this;
  130.     }
  131. }