* * @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:----ICZjTRlt/dwGnY2oMDWL/k3kuEy0rsWB5IkPFpeiPlSaMH6M7foutEUU4WCOfsum5neIXwU3qQ+9m48KE8KJXF6i71LL67v15EdUJZUFWXL78iTd9p6Q72ZZvj3SzDzcjBaPfXY7696/mAerjoZBc//fvdXMoNmKhQrbx+YQIydMVwBtySzmP1P9XzbSHoXt37iVjdGHhEX1qPlxBHXDPCu7CkHLtTtDM0ZV3sIfhkEeDXffsrRxwgpaItv3Gle3Jtiw+wrjXLGdpK7xnmpnAMLgl+bsQa2nxfxnTuhl8fYMZfbmbzs3lRrWNZc1TSmsIcWloQOa3acsVvQsvQBxgMr4a1JFoI5+XSV3LAIXORvAiYBJ99fYR/RxdoEEQ12+YUpIUvCN7eb0vLiN7sJ6eP0LL1g9uHh+LoCCmcFrmhR3v+R3Ss+1F/3u9Iqn3AKRhRnpR6iiVb6ZzFsDmjYNd48jwzB5FLtWZNzgkx3Q5weHg9LKAvrYDf+ogHyIubpqLWoOceXC/e38WLGozVAOqu3tyaaa3wy7/aJib5Tr57exs2VZ1CJX/RUoU8+pJ7Ku+MhYXiIuP7S5d3lCgMmuqqCRUwfSt+M2/gV9/NOe5r0jt4FAGi0s4iPN6avpKQ1zmO3wl3rkgSVCOCnZj5cfr3JxtnLl2wbr4FZ86R8HHgU=----ATTACHMENT:----NTkwODgxNTYxODgxMDY2OSA1NzE2MjQ0MDY5ODA1NDggODU0MTQwNTU2OTU1NDk0Nw==