Passed
Push — master ( 2b2d6e...305862 )
by Rutger
13:36
created

Request()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
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
                return 'dummy';
24
            }
25
26
            public function respondToAccessTokenRequest(ServerRequestInterface $request, ResponseTypeInterface $responseType, \DateInterval $accessTokenTTL)
27
            {
28
                return new RedirectResponse();
29
            }
30
31
            /**
32
             * @param Request $request
33
             * @return array
34
             */
35
            public function getClientCredentialsFromYiiRequest(Request $request)
36
            {
37
                return parent::getClientCredentials(Psr7Helper::yiiToPsr7Request($request));
38
            }
39
        };
40
41
        return $grant->getClientCredentialsFromYiiRequest($request);
42
    }
43
}
44