AccessKeyCredential.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace AlibabaCloud\Credentials;
  3. use AlibabaCloud\Credentials\Utils\Filter;
  4. use AlibabaCloud\Credentials\Credential\CredentialModel;
  5. use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
  6. /**
  7. * @deprecated
  8. * Use the AccessKey to complete the authentication.
  9. */
  10. class AccessKeyCredential implements CredentialsInterface
  11. {
  12. /**
  13. * @var string
  14. */
  15. private $accessKeyId;
  16. /**
  17. * @var string
  18. */
  19. private $accessKeySecret;
  20. /**
  21. * AccessKeyCredential constructor.
  22. *
  23. * @param string $access_key_id Access key ID
  24. * @param string $access_key_secret Access Key Secret
  25. */
  26. public function __construct($access_key_id, $access_key_secret)
  27. {
  28. Filter::accessKey($access_key_id, $access_key_secret);
  29. $this->accessKeyId = $access_key_id;
  30. $this->accessKeySecret = $access_key_secret;
  31. }
  32. /**
  33. * @return string
  34. */
  35. public function getAccessKeyId()
  36. {
  37. return $this->accessKeyId;
  38. }
  39. /**
  40. * @return string
  41. */
  42. public function getAccessKeySecret()
  43. {
  44. return $this->accessKeySecret;
  45. }
  46. /**
  47. * @return string
  48. */
  49. public function __toString()
  50. {
  51. return "$this->accessKeyId#$this->accessKeySecret";
  52. }
  53. /**
  54. * @return ShaHmac1Signature
  55. */
  56. public function getSignature()
  57. {
  58. return new ShaHmac1Signature();
  59. }
  60. public function getSecurityToken()
  61. {
  62. return '';
  63. }
  64. /**
  65. * @inheritDoc
  66. */
  67. public function getCredential()
  68. {
  69. return new CredentialModel([
  70. 'accessKeyId' => $this->accessKeyId,
  71. 'accessKeySecret' => $this->accessKeySecret,
  72. 'type' => 'access_key',
  73. ]);
  74. }
  75. }