| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- namespace Aws\Credentials;
- /**
- * Basic implementation of the AWS Credentials interface that allows callers to
- * pass in the AWS Access Key and AWS Secret Access Key in the constructor.
- */
- class Credentials implements CredentialsInterface, \Serializable
- {
- private $key;
- private $secret;
- private $token;
- private $expires;
- /**
- * Constructs a new BasicAWSCredentials object, with the specified AWS
- * access key and AWS secret key
- *
- * @param string $key AWS access key ID
- * @param string $secret AWS secret access key
- * @param string $token Security token to use
- * @param int $expires UNIX timestamp for when credentials expire
- */
- public function __construct($key, $secret, $token = null, $expires = null)
- {
- $this->key = trim($key);
- $this->secret = trim($secret);
- $this->token = $token;
- $this->expires = $expires;
- }
- public static function __set_state(array $state)
- {
- return new self(
- $state['key'],
- $state['secret'],
- $state['token'],
- $state['expires']
- );
- }
- public function getAccessKeyId()
- {
- return $this->key;
- }
- public function getSecretKey()
- {
- return $this->secret;
- }
- public function getSecurityToken()
- {
- return $this->token;
- }
- public function getExpiration()
- {
- return $this->expires;
- }
- public function isExpired()
- {
- return $this->expires !== null && time() >= $this->expires;
- }
- public function toArray()
- {
- return [
- 'key' => $this->key,
- 'secret' => $this->secret,
- 'token' => $this->token,
- 'expires' => $this->expires
- ];
- }
- public function serialize()
- {
- return json_encode($this->toArray());
- }
- public function unserialize($serialized)
- {
- $data = json_decode($serialized, true);
- $this->key = $data['key'];
- $this->secret = $data['secret'];
- $this->token = $data['token'];
- $this->expires = $data['expires'];
- }
- }
|