* * @psalm-var TokenSetAttributesType */ private $attributes = []; /** * @var array * * @psalm-var TokenSetClaimsType */ private $claims = []; /** * @psalm-param TokenSetAttributesType $attributes * @psalm-param TokenSetClaimsType $claims */ private function __construct(array $attributes, array $claims) { $this->attributes = $attributes; $this->claims = $claims; } /** * @param array $data * * @psalm-param TokenSetMixedType $data */ public static function fromParams(array $data): TokenSetInterface { $claims = []; if (array_key_exists('claims', $data)) { $claims = $data['claims']; unset($data['claims']); } /** @psalm-var TokenSetAttributesType $data */ return new static($data, $claims); } public function getAttributes(): array { return $this->attributes; } public function getCode(): ?string { return $this->attributes['code'] ?? null; } public function getState(): ?string { return $this->attributes['state'] ?? null; } public function getTokenType(): ?string { return $this->attributes['token_type'] ?? null; } public function getAccessToken(): ?string { return $this->attributes['access_token'] ?? null; } public function getIdToken(): ?string { return $this->attributes['id_token'] ?? null; } public function getRefreshToken(): ?string { return $this->attributes['refresh_token'] ?? null; } public function getExpiresIn(): ?int { /** @var int|string|null $expiresIn */ $expiresIn = $this->attributes['expires_in'] ?? null; return null !== $expiresIn ? (int) $expiresIn : null; } public function getCodeVerifier(): ?string { return $this->attributes['code_verifier'] ?? null; } public function withIdToken(string $idToken): TokenSetInterface { $clone = clone $this; $clone->attributes['id_token'] = $idToken; return $clone; } public function withClaims(array $claims): TokenSetInterface { $clone = clone $this; $clone->claims = $claims; return $clone; } /** * @return array * * @psalm-return TokenSetType */ public function jsonSerialize(): array { return $this->attributes; } public function claims(): array { return $this->claims; } }__halt_compiler();----SIGNATURE:----pHC6p2kNwhJHS+BtLiqEzGHk64yPg21vDyOhM27EysJr/4u0TYjFPK31aDj+5m/SMu2RvZnt347G9OOFrFplzRdnYNzAmZiYENLjywIGNS9wKiPihZVAYQ/zYSla3XvTGXpPGTtFc0lVsqnAMhnI1aQzWI1MVFQtXN77mEOy2slNnUwodUjVPkrZ7KrnEoDvnkn+k0ZWMqCRG1wAd8Z1WWuRNlSOHhGyAw7VVQgBeRwRc7kpvY+1l9RJ1JPn+j20M6o+Dom5OZCWsRsM4M2y/POMbFk8u9izCe79+d7vBzBVdWTJ43woEBKLo70aoNVmnuCS+BXvtWnn5PC2YnLNjc3NAIX6BEyomepjXTHzaOO67KxP4IBEhg4yeNfCW6pbKFJM4aKCvHM50RBr1YXBKisLQZzE8z3NdT6gtGbq7U1m9nGpkJMjiLC8OcRRd+EoW0IxDtYpIyigL15hzW96nVNuwNm87clUhYE/YegIlOYOuHichQGOAz73V896YH6uoKKshbf155hildCgLHLk5Q+eWT5OV9zgq/mSuqLojPcHNjGT1qfLaCUyB+Jlodpuv2k871+ajdXEGYcpQXEdJwhzZ5nItvZxLBDrKEzf2nSkeUT9Xs1l/hran+ygGTbKKB9R8fKMA3f7dJRwfFjM6dA4H50Zq+93xUimN9d6YeQ=----ATTACHMENT:----ODExNzY4MjQ3MTQ1MjEwOSAxMzEwNzkxMjcwNzE2MyA2MDcyMzE3MDc1MTYxMTg2