diff options
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/Token/SsoToken.php')
-rw-r--r-- | vendor/aws/aws-sdk-php/src/Token/SsoToken.php | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/Token/SsoToken.php b/vendor/aws/aws-sdk-php/src/Token/SsoToken.php new file mode 100644 index 0000000..4b453ef --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Token/SsoToken.php @@ -0,0 +1,108 @@ +<?php +namespace Aws\Token; + +/** + * Token that comes from the SSO provider + */ +class SsoToken extends Token +{ + private $refreshToken; + private $clientId; + private $clientSecret; + private $registrationExpiresAt; + private $region; + private $startUrl; + + /** + * Constructs a new SSO token object, with the specified AWS + * token + * + * @param string $token Security token to use + * @param int $expires UNIX timestamp for when the token expires + * @param int $refreshToken An opaque string returned by the sso-oidc service + * @param int $clientId The client ID generated when performing the registration portion of the OIDC authorization flow + * @param int $clientSecret The client secret generated when performing the registration portion of the OIDC authorization flow + * @param int $registrationExpiresAt The expiration time of the client registration (clientId and clientSecret) + * @param int $region The configured sso_region for the profile that credentials are being resolved for + * @param int $startUrl The configured sso_start_url for the profile that credentials are being resolved for + */ + public function __construct( + $token, + $expires, + $refreshToken = null, + $clientId = null, + $clientSecret = null, + $registrationExpiresAt = null, + $region = null, + $startUrl = null + ) { + parent::__construct($token, $expires); + $this->refreshToken = $refreshToken; + $this->clientId = $clientId; + $this->clientSecret = $clientSecret; + $this->registrationExpiresAt = $registrationExpiresAt; + $this->region = $region; + $this->startUrl = $startUrl; + } + + /** + * @return bool + */ + public function isExpired() + { + if (isset($this->registrationExpiresAt) + && time() >= $this->registrationExpiresAt + ) { + return false; + } + return $this->expires !== null && time() >= $this->expires; + } + + /** + * @return string|null + */ + public function getRefreshToken() + { + return $this->refreshToken; + } + + /** + * @return string|null + */ + public function getClientId() + { + return $this->clientId; + } + + /** + * @return string|null + */ + public function getClientSecret() + { + return $this->clientSecret; + } + + /** + * @return int|null + */ + public function getRegistrationExpiresAt() + { + return $this->registrationExpiresAt; + } + + /** + * @return string|null + */ + public function getRegion() + { + return $this->region; + } + + /** + * @return string|null + */ + public function getStartUrl() + { + return $this->startUrl; + } +} |