Passed
Pull Request — master (#1408)
by
unknown
49:03 queued 14:05
created

AbstractAuthorizeGrant::makeRedirectUri()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 2
c 0
b 0
f 0
nc 2
nop 3
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 2
rs 10
1
<?php
2
3
/**
4
 * Abstract authorization grant.
5
 *
6
 * @author      Julián Gutiérrez <[email protected]>
7
 * @copyright   Copyright (c) Alex Bilbie
8
 * @license     http://mit-license.org/
9
 *
10
 * @link        https://github.com/thephpleague/oauth2-server
11
 */
12
13
declare(strict_types=1);
14
15
namespace League\OAuth2\Server\Grant;
16
17
use League\OAuth2\Server\RequestTypes\AuthorizationRequest;
18
use League\OAuth2\Server\RequestTypes\AuthorizationRequestInterface;
19
20
use function http_build_query;
21
22
abstract class AbstractAuthorizeGrant extends AbstractGrant
23
{
24
    /**
25
     * @param array<array-key,mixed> $params
0 ignored issues
show
Documentation Bug introduced by
The doc comment array<array-key,mixed> at position 2 could not be parsed: Unknown type name 'array-key' at position 2 in array<array-key,mixed>.
Loading history...
26
     */
27 8
    public function makeRedirectUri(string $uri, array $params = [], string $queryDelimiter = '?'): string
28
    {
29 8
        $uri .= str_contains($uri, $queryDelimiter) ? '&' : $queryDelimiter;
30
31 8
        return $uri . http_build_query($params);
32
    }
33
34 9
    protected function createAuthorizationRequest(): AuthorizationRequestInterface
35
    {
36 9
        return new AuthorizationRequest();
37
    }
38
39
    /**
40
     * Get the client redirect URI.
41
     */
42
    protected function getClientRedirectUri(AuthorizationRequestInterface $authorizationRequest): string
43
    {
44
        return is_array($authorizationRequest->getClient()->getRedirectUri())
45
            ? $authorizationRequest->getClient()->getRedirectUri()[0]
46
            : $authorizationRequest->getClient()->getRedirectUri();
47
    }
48
}
49