GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Issues (74)

src/Credentials/Providers/RsaKeyPairProvider.php (13 issues)

Labels
1
<?php
2
3
namespace AlibabaCloud\Client\Credentials\Providers;
4
5
use AlibabaCloud\Client\SDK;
6
use AlibabaCloud\Client\AlibabaCloud;
7
use AlibabaCloud\Client\Result\Result;
8
use AlibabaCloud\Client\Request\Request;
9
use AlibabaCloud\Client\Credentials\StsCredential;
10
use AlibabaCloud\Client\Exception\ClientException;
11
use AlibabaCloud\Client\Exception\ServerException;
12
use AlibabaCloud\Client\Credentials\AccessKeyCredential;
13
use AlibabaCloud\Client\Signature\ShaHmac256WithRsaSignature;
14
use AlibabaCloud\Client\Credentials\Requests\GenerateSessionAccessKey;
15
16
/**
17
 * Class RsaKeyPairProvider
18
 *
19
 * @package   AlibabaCloud\Client\Credentials\Providers
20
 */
21
class RsaKeyPairProvider extends Provider
22
{
23
24
    /**
25
     * Get credential.
26
     *
27
     * @param int $timeout
28
     * @param int $connectTimeout
29
     *
30
     * @return StsCredential
31
     * @throws ClientException
32
     * @throws ServerException
33
     */
34 8
    public function get($timeout = Request::TIMEOUT, $connectTimeout = Request::CONNECT_TIMEOUT)
35
    {
36 8
        $credential = $this->getCredentialsInCache();
37
38 8
        if ($credential === null) {
39 5
            $result = $this->request($timeout, $connectTimeout);
40
41 4
            if (!isset($result['SessionAccessKey']['SessionAccessKeyId'],
42 4
                $result['SessionAccessKey']['SessionAccessKeySecret'])) {
43 1
                throw new ServerException($result, $this->error, SDK::INVALID_CREDENTIAL);
44
            }
45
46 3
            $credential = $result['SessionAccessKey'];
47 3
            $this->cache($credential);
0 ignored issues
show
It seems like $credential can also be of type null; however, parameter $credential of AlibabaCloud\Client\Cred...iders\Provider::cache() does only seem to accept array, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

47
            $this->cache(/** @scrutinizer ignore-type */ $credential);
Loading history...
48 3
        }
49
50 6
        return new StsCredential(
51 6
            $credential['SessionAccessKeyId'],
52 6
            $credential['SessionAccessKeySecret']
53 6
        );
54
    }
55
56
    /**
57
     * Get credentials by request.
58
     *
59
     * @param $timeout
60
     * @param $connectTimeout
61
     *
62
     * @return Result
63
     * @throws ClientException
64
     * @throws ServerException
65
     */
66 5
    private function request($timeout, $connectTimeout)
67
    {
68 5
        $clientName = __CLASS__ . \uniqid('rsa', true);
69 5
        $credential = $this->client->getCredential();
70
71 5
        AlibabaCloud::client(
72 5
            new AccessKeyCredential(
73 5
                $credential->getPublicKeyId(),
0 ignored issues
show
The method getPublicKeyId() does not exist on AlibabaCloud\Client\Cred...ls\CredentialsInterface. It seems like you code against a sub-type of AlibabaCloud\Client\Cred...ls\CredentialsInterface such as AlibabaCloud\Client\Cred...ls\RsaKeyPairCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

73
                $credential->/** @scrutinizer ignore-call */ 
74
                             getPublicKeyId(),
Loading history...
The method getPublicKeyId() does not exist on AlibabaCloud\Client\Cred...als\AccessKeyCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

73
                $credential->/** @scrutinizer ignore-call */ 
74
                             getPublicKeyId(),

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPublicKeyId() does not exist on AlibabaCloud\Client\Cred...s\BearerTokenCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

73
                $credential->/** @scrutinizer ignore-call */ 
74
                             getPublicKeyId(),

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPublicKeyId() does not exist on AlibabaCloud\Client\Cred...ls\EcsRamRoleCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

73
                $credential->/** @scrutinizer ignore-call */ 
74
                             getPublicKeyId(),

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPublicKeyId() does not exist on AlibabaCloud\Client\Credentials\StsCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

73
                $credential->/** @scrutinizer ignore-call */ 
74
                             getPublicKeyId(),

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPublicKeyId() does not exist on AlibabaCloud\Client\Cred...ls\RamRoleArnCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

73
                $credential->/** @scrutinizer ignore-call */ 
74
                             getPublicKeyId(),

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
74 5
                $credential->getPrivateKey()
0 ignored issues
show
The method getPrivateKey() does not exist on AlibabaCloud\Client\Cred...ls\CredentialsInterface. It seems like you code against a sub-type of AlibabaCloud\Client\Cred...ls\CredentialsInterface such as AlibabaCloud\Client\Cred...ls\RsaKeyPairCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

74
                $credential->/** @scrutinizer ignore-call */ 
75
                             getPrivateKey()
Loading history...
The method getPrivateKey() does not exist on AlibabaCloud\Client\Cred...als\AccessKeyCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

74
                $credential->/** @scrutinizer ignore-call */ 
75
                             getPrivateKey()

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPrivateKey() does not exist on AlibabaCloud\Client\Cred...ls\EcsRamRoleCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

74
                $credential->/** @scrutinizer ignore-call */ 
75
                             getPrivateKey()

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPrivateKey() does not exist on AlibabaCloud\Client\Cred...s\BearerTokenCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

74
                $credential->/** @scrutinizer ignore-call */ 
75
                             getPrivateKey()

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPrivateKey() does not exist on AlibabaCloud\Client\Credentials\StsCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

74
                $credential->/** @scrutinizer ignore-call */ 
75
                             getPrivateKey()

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
The method getPrivateKey() does not exist on AlibabaCloud\Client\Cred...ls\RamRoleArnCredential. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

74
                $credential->/** @scrutinizer ignore-call */ 
75
                             getPrivateKey()

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
75 5
            ),
76 5
            new ShaHmac256WithRsaSignature()
77 5
        )->name($clientName);
78
79 5
        return (new GenerateSessionAccessKey($credential->getPublicKeyId()))
80 5
            ->client($clientName)
81 5
            ->timeout($timeout)
82 5
            ->connectTimeout($connectTimeout)
83 5
            ->debug($this->client->isDebug())
84 5
            ->request();
85
    }
86
}
87