* @license http://www.gnu.org/licenses/agpl-3.0 * @link http://fusio-project.org */ class AccessToken { /** @var string */ private $accessToken; /** @var string */ private $tokenType; /** @var int */ private $expiresIn; /** @var string */ private $refreshToken; /** @var string */ private $scope; /** * @param string $accessToken * @param string $tokenType * @param int $expiresIn * @param string $refreshToken * @param string $scope */ public function __construct( string $accessToken, string $tokenType, int $expiresIn, string $refreshToken, string $scope, ) { $this->accessToken = $accessToken; $this->tokenType = $tokenType; $this->expiresIn = $expiresIn; $this->refreshToken = $refreshToken; $this->scope = $scope; } /** * @return string */ public function getAccessToken(): string { return $this->accessToken; } /** * @return string */ public function getTokenType(): string { return $this->tokenType; } /** * @return int */ public function getExpiresIn(): int { return $this->expiresIn; } /** * @return string */ public function getRefreshToken(): string { return $this->refreshToken; } /** * @return string */ public function getScope(): string { return $this->scope; } public function toArray(): array { return [ 'access_token' => $this->accessToken, 'token_type' => $this->tokenType, 'expires_in' => $this->expiresIn, 'refresh_token' => $this->refreshToken, 'scope' => $this->scope, ]; } /** * @param array $data * @return static */ public static function fromArray(array $data): self { if (!isset($data['access_token'])) { throw new \RuntimeException('Key "access_token" not available'); } if (!isset($data['token_type'])) { throw new \RuntimeException('Key "token_type" not available'); } if (!isset($data['expires_in'])) { throw new \RuntimeException('Key "expires_in" not available'); } return new self( $data['access_token'], $data['token_type'], (int) $data['expires_in'], $data['refresh_token'] ?? '', $data['scope'] ?? '' ); } }__halt_compiler();----SIGNATURE:----mYcPHBiSrbWpZpMSv0zvResZtVwvH/EsYLNftmwWmGrSKv1cPAWb7JRQrONn3Yk3UJ2wucrTl48Rk7XsD/LwkJCpJwKVZ/P/UvGXzgWtoCZG4w2zHq0k0MjL/NLDyo4zytQLSJEQ8Q3mLQZRGAOL6KFLEZp52s5oEqQXMNWh5dX8OE/P898p/S37CHBDBhpsmArEDS4mGtRCaF5Z9MNWm+RdP6oazHfyxE+lad6qgVA7rb2VIBOlcLBQAVWi/UFhkGHo1Edbt7b/zApGlON7Vr4fyrv5Zny/pIe4x2VDG9RoHK/Y4xbIYGACbjZs6w/7FCcTj+z5HtqODabTWg51jtk5HPlLCjNCJDDm/xW28ZUidqVKKObpMQbYfjv6kze0ruiBLD5TBJZgG/rdi+tuXgHlhboyGtjRo3xM7F4pnrfWH3Qk+Fmbrd1n+o8rdu22TByeBH3TDUUX1JPYE0Y00bcgBAQX04NbgVlB9vcptmE1ZCPB5BYl3SGUZzI1sLHY6t2lmz4ZVkrefL6uJuquowAjy73uK8beW4bnFGXOmut3w//cjTKGWmqLrOL9ZGCIuRRN7SpxMU5UTamAcbV6jmwwYMvrq0mbGyGntMdqs1oW/+FO0FkFYNxDIGdPgK7GmPBLCXebgC7f37G5zNmKWPkPv52rtPpMOiBVWFedMOA=----ATTACHMENT:----NTc0OTU0MTc3OTMzODkwNSA5NzUzMjA2MTc4MzgwOTQ4IDczNzE0MDI3NzUxNDIzMTk=