anonymous//src/helpers/Oauth2RequestHelper.php$0   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
dl 0
loc 22
ccs 0
cts 5
cp 0
rs 10
1
<?php
2
3
namespace rhertogh\Yii2Oauth2Server\helpers;
4
5
use League\OAuth2\Server\Grant\AbstractGrant;
6
use League\OAuth2\Server\ResponseTypes\RedirectResponse;
7
use League\OAuth2\Server\ResponseTypes\ResponseTypeInterface;
8
use Psr\Http\Message\ServerRequestInterface;
9
use yii\web\Request;
10
11
class Oauth2RequestHelper
12
{
13
    /**
14
     * @param Request $request
15
     * @return array
16
     */
17
    public static function getClientCredentials(Request $request)
18
    {
19
        // Piggyback on underlying Oauth2 server in order to maintain same client identification methods.
20
        $grant = new class extends AbstractGrant
21
        {
22
            public function getIdentifier()
23
            {
24
                return 'dummy';
25
            }
26
27
            public function respondToAccessTokenRequest(
28
                ServerRequestInterface $request,
29
                ResponseTypeInterface $responseType,
30
                \DateInterval $accessTokenTTL
31
            ) {
32
                return new RedirectResponse();
33
            }
34
35
            /**
36
             * @param Request $request
37
             * @return array
38
             */
39
            public function getClientCredentialsFromYiiRequest(Request $request)
40
            {
41
                return parent::getClientCredentials(Psr7Helper::yiiToPsr7Request($request));
42
            }
43
        };
44
45
        return $grant->getClientCredentialsFromYiiRequest($request);
46
    }
47
}
48