PluginProbe
Media Cloud Sync / 1.4.2
Media Cloud Sync v1.4.2
1.4.2 1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 All 36 releases
← All changes | includes/sdk/s3/Aws/Auth/AuthSchemeResolver.php +15 -3 1.2.13 → 1.4.2 View file →
@@ -2,8 +2,10 @@
2 2
3 3 namespace Dudlewebs\WPMCS\s3\Aws\Auth;
4 4
5 5 use Dudlewebs\WPMCS\s3\Aws\Auth\Exception\UnresolvedAuthSchemeException;
6 +use Dudlewebs\WPMCS\s3\Aws\Exception\CredentialsException;
7 +use Dudlewebs\WPMCS\s3\Aws\Exception\TokenException;
6 8 use Dudlewebs\WPMCS\s3\Aws\Identity\AwsCredentialIdentity;
7 9 use Dudlewebs\WPMCS\s3\Aws\Identity\BearerTokenIdentity;
8 10 use Dudlewebs\WPMCS\s3\GuzzleHttp\Promise\PromiseInterface;
9 11 /**
@@ -24,9 +26,9 @@
24 26 */
25 27 private $authSchemeMap;
26 28 private $tokenProvider;
27 29 private $credentialProvider;
28 - public function __construct(callable $credentialProvider, callable $tokenProvider = null, array $authSchemeMap = [])
30 + public function __construct(callable $credentialProvider, ?callable $tokenProvider = null, array $authSchemeMap = [])
29 31 {
30 32 $this->credentialProvider = $credentialProvider;
31 33 $this->tokenProvider = $tokenProvider;
32 34 $this->authSchemeMap = empty($authSchemeMap) ? self::$defaultAuthSchemeMap : $authSchemeMap;
@@ -111,9 +113,14 @@
111 113 {
112 114 $fn = $this->credentialProvider;
113 115 $result = $fn();
114 116 if ($result instanceof PromiseInterface) {
115 - return $result->wait() instanceof AwsCredentialIdentity;
117 + try {
118 + $resolved = $result->wait();
119 + return $resolved instanceof AwsCredentialIdentity;
120 + } catch (CredentialsException $e) {
121 + return \false;
122 + }
116 123 }
117 124 return $result instanceof AwsCredentialIdentity;
118 125 }
119 126 /**
@@ -124,9 +131,14 @@
124 131 if ($this->tokenProvider) {
125 132 $fn = $this->tokenProvider;
126 133 $result = $fn();
127 134 if ($result instanceof PromiseInterface) {
128 - return $result->wait() instanceof BearerTokenIdentity;
135 + try {
136 + $resolved = $result->wait();
137 + return $resolved instanceof BearerTokenIdentity;
138 + } catch (TokenException $e) {
139 + return \false;
140 + }
129 141 }
130 142 return $result instanceof BearerTokenIdentity;
131 143 }
132 144 return \false;