| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- namespace Aws\Sts;
- use Aws\AwsClient;
- use Aws\Result;
- use Aws\Credentials\Credentials;
- /**
- * This client is used to interact with the **AWS Security Token Service (AWS STS)**.
- *
- * @method \Aws\Result assumeRole(array $args = [])
- * @method \GuzzleHttp\Promise\Promise assumeRoleAsync(array $args = [])
- * @method \Aws\Result assumeRoleWithSAML(array $args = [])
- * @method \GuzzleHttp\Promise\Promise assumeRoleWithSAMLAsync(array $args = [])
- * @method \Aws\Result assumeRoleWithWebIdentity(array $args = [])
- * @method \GuzzleHttp\Promise\Promise assumeRoleWithWebIdentityAsync(array $args = [])
- * @method \Aws\Result decodeAuthorizationMessage(array $args = [])
- * @method \GuzzleHttp\Promise\Promise decodeAuthorizationMessageAsync(array $args = [])
- * @method \Aws\Result getCallerIdentity(array $args = [])
- * @method \GuzzleHttp\Promise\Promise getCallerIdentityAsync(array $args = [])
- * @method \Aws\Result getFederationToken(array $args = [])
- * @method \GuzzleHttp\Promise\Promise getFederationTokenAsync(array $args = [])
- * @method \Aws\Result getSessionToken(array $args = [])
- * @method \GuzzleHttp\Promise\Promise getSessionTokenAsync(array $args = [])
- */
- class StsClient extends AwsClient
- {
- /**
- * Creates credentials from the result of an STS operations
- *
- * @param Result $result Result of an STS operation
- *
- * @return Credentials
- * @throws \InvalidArgumentException if the result contains no credentials
- */
- public function createCredentials(Result $result)
- {
- if (!$result->hasKey('Credentials')) {
- throw new \InvalidArgumentException('Result contains no credentials');
- }
- $c = $result['Credentials'];
- return new Credentials(
- $c['AccessKeyId'],
- $c['SecretAccessKey'],
- isset($c['SessionToken']) ? $c['SessionToken'] : null,
- isset($c['Expiration']) && $c['Expiration'] instanceof \DateTimeInterface
- ? (int) $c['Expiration']->format('U')
- : null
- );
- }
- }
|