| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | 
							- <?php
 
- namespace Aws\Token;
 
- use Aws\Identity\BearerTokenIdentity;
 
- use Aws\Token\TokenInterface;
 
- /**
 
-  * Basic implementation of the AWS Token interface that allows callers to
 
-  * pass in an AWS token in the constructor.
 
-  */
 
- class Token extends BearerTokenIdentity implements TokenInterface, \Serializable
 
- {
 
-     protected $token;
 
-     protected $expires;
 
-     /**
 
-      * Constructs a new basic token object, with the specified AWS
 
-      * token
 
-      *
 
-      * @param string $token   Security token to use
 
-      * @param int    $expires UNIX timestamp for when the token expires
 
-      */
 
-     public function __construct($token, $expires = null)
 
-     {
 
-         $this->token = $token;
 
-         $this->expires = $expires;
 
-     }
 
-     /**
 
-      * Sets the state of a token object
 
-      *
 
-      * @param array $state   array containing 'token' and 'expires'
 
-      */
 
-     public static function __set_state(array $state)
 
-     {
 
-         return new self(
 
-             $state['token'],
 
-             $state['expires']
 
-         );
 
-     }
 
-     /**
 
-      * @return string
 
-      */
 
-     public function getToken()
 
-     {
 
-         return $this->token;
 
-     }
 
-     /**
 
-      * @return int
 
-      */
 
-     public function getExpiration()
 
-     {
 
-         return $this->expires;
 
-     }
 
-     /**
 
-      * @return bool
 
-      */
 
-     public function isExpired()
 
-     {
 
-         return $this->expires !== null && time() >= $this->expires;
 
-     }
 
-     /**
 
-      * @return array
 
-      */
 
-     public function toArray()
 
-     {
 
-         return [
 
-             'token'   => $this->token,
 
-             'expires' => $this->expires
 
-         ];
 
-     }
 
-     /**
 
-      * @return string
 
-      */
 
-     public function serialize()
 
-     {
 
-         return json_encode($this->__serialize());
 
-     }
 
-     /**
 
-      * Sets the state of the object from serialized json data
 
-      */
 
-     public function unserialize($serialized)
 
-     {
 
-         $data = json_decode($serialized, true);
 
-         $this->__unserialize($data);
 
-     }
 
-     /**
 
-      * @return array
 
-      */
 
-     public function __serialize()
 
-     {
 
-         return $this->toArray();
 
-     }
 
-     /**
 
-      *  Sets the state of this object from an array
 
-      */
 
-     public function __unserialize($data)
 
-     {
 
-         $this->token = $data['token'];
 
-         $this->expires = $data['expires'];
 
-     }
 
- }
 
 
  |