|
- <?php
-
- /*
- * This file is part of the overtrue/socialite.
- *
- * (c) overtrue <i@overtrue.me>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
- namespace Overtrue\Socialite;
-
- use ArrayAccess;
- use InvalidArgumentException;
- use JsonSerializable;
-
- /**
- * Class AccessToken.
- */
- class AccessToken implements AccessTokenInterface, ArrayAccess, JsonSerializable
- {
- use HasAttributes;
-
- /**
- * AccessToken constructor.
- *
- * @param array $attributes
- */
- public function __construct(array $attributes)
- {
- if (empty($attributes['access_token'])) {
- throw new InvalidArgumentException('The key "access_token" could not be empty.');
- }
-
- $this->attributes = $attributes;
- }
-
- /**
- * Return the access token string.
- *
- * @return string
- */
- public function getToken()
- {
- return $this->getAttribute('access_token');
- }
-
- /**
- * {@inheritdoc}
- */
- public function __toString()
- {
- return strval($this->getAttribute('access_token', ''));
- }
-
- /**
- * {@inheritdoc}
- */
- public function jsonSerialize()
- {
- return $this->getToken();
- }
- }
|