Completed
Push — master ( 289dee...aec877 )
by Alexandre
03:35
created

Server::getAuthorizationEndpoint()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 0
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: Alexandre
5
 * Date: 23/01/2018
6
 * Time: 00:10
7
 */
8
9
namespace OAuth2\OpenID;
10
11
12
use OAuth2\ClientAuthentication\Guard;
13
use OAuth2\OpenID\Endpoints\AuthorizationEndpoint;
14
use OAuth2\Repositories\ResponseModeRepository;
15
use OAuth2\OpenID\Repositories\ResponseTypeRepository;
16
use OAuth2\Providers\ResourceOwnerProviderInterface;
17
use OAuth2\Repositories\ClientAuthenticatorRepository;
18
use OAuth2\OpenID\Repositories\ConfigurationRepository;
19
use OAuth2\Repositories\GrantTypeRepository;
20
//use OAuth2\Repositories\ResponseTypeRepository;
21
use OAuth2\OpenID\Repositories\StorageRepository;
22
use OAuth2\ScopePolicy\ScopePolicyManager;
23
24
class Server extends \OAuth2\Server
25
{
26
    /**
27
     * @var AuthorizationEndpoint
28
     */
29
    protected $authorizationEndpoint;
30
    /**
31
     * @var ResponseTypeRepository
32
     */
33
    protected $responseTypeRepository;
34
35
    /**
36
     * Server constructor.
37
     * @param ResourceOwnerProviderInterface $resourceOwnerProvider
38
     * @param null|StorageRepository $storageRepository
39
     * @param null|ConfigurationRepository $configurationRepository
40
     * @param null|ResponseTypeRepository $responseTypeRepository
41
     * @param null|GrantTypeRepository $grantTypeRepository
42
     * @param null|ClientAuthenticatorRepository $clientAuthenticatorRepository
43
     * @param null|Guard $guard
44
     * @param null|ScopePolicyManager $scopePolicyManager
45
     * @param null|ResponseModeRepository $responseModeRepository
46
     * @throws \Exception
47
     */
48
    public function __construct(ResourceOwnerProviderInterface $resourceOwnerProvider,
49
                                StorageRepository $storageRepository,
50
                                ?ConfigurationRepository $configurationRepository = null,
51
                                ?ResponseTypeRepository $responseTypeRepository = null,
52
                                ?GrantTypeRepository $grantTypeRepository = null,
53
                                ?ClientAuthenticatorRepository $clientAuthenticatorRepository = null,
54
                                ?Guard $guard = null,
55
                                ?ScopePolicyManager $scopePolicyManager = null,
56
                                ?ResponseModeRepository $responseModeRepository = null)
57
    {
58
        if (is_null($configurationRepository)) {
59
            $configurationRepository = new ConfigurationRepository();
60
        }
61
62
        if (is_null($responseTypeRepository)) {
63
            $responseTypeRepository = new ResponseTypeRepository(
64
                ResponseTypeRepository::getDefaultResponseTypes($configurationRepository, $storageRepository));
65
        }
66
67
        parent::__construct($resourceOwnerProvider, $storageRepository, $configurationRepository,
68
            $responseTypeRepository, $grantTypeRepository, $clientAuthenticatorRepository, $guard,
69
            $scopePolicyManager, $responseModeRepository);
70
71
        $this->authorizationEndpoint = new AuthorizationEndpoint($this);
72
    }
73
74
}