Completed
Pull Request — master (#7)
by
unknown
04:38
created

AbstractBaseProvider::setFields()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
/**
3
 * SocialConnect project
4
 * @author: Patsura Dmitry https://github.com/ovr <[email protected]>
5
 */
6
7
namespace SocialConnect\Auth\Provider;
8
9
use Exception;
10
use LogicException;
11
use SocialConnect\Auth\Exception\InvalidAccessToken;
12
use SocialConnect\Auth\OAuth\Request;
13
use SocialConnect\Auth\OAuth\SignatureMethodHMACSHA1;
14
use SocialConnect\Auth\OAuth\Token;
15
use SocialConnect\Auth\Provider\Consumer;
16
use SocialConnect\Auth\Service;
17
use SocialConnect\Common\Entity\User;
18
use SocialConnect\Common\Http\Client\Client;
19
20
abstract class AbstractBaseProvider
21
{
22
    /**
23
     * @var Service
24
     */
25
    public $service;
26
27
    /**
28
     * @var Consumer
29
     */
30
    protected $consumer;
31
32
    /**
33
     * @var array
34
     */
35
    protected $scope = array();
36
37
    /**
38
     * @var array
39
     */
40
    protected $fields = array();
41
42
    /**
43
     * @param Service $service
44
     * @param \SocialConnect\Auth\Provider\Consumer $consumer
45
     */
46
    public function __construct(Service $service, Consumer $consumer)
47
    {
48
        $this->service = $service;
49
        $this->consumer = $consumer;
50
    }
51
52
    /**
53
     * @return mixed
54
     */
55
    protected function getRedirectUri()
56
    {
57
        return $this->service->getConfig()['redirectUri'];
58
    }
59
60
    /**
61
     * @return string
62
     */
63
    public function getRedirectUrl()
64
    {
65
        return $this->getRedirectUri() . '/' . $this->getName() . '/';
66
    }
67
68
    /**
69
     * @return string
70
     */
71
    abstract public function getBaseUri();
72
73
    /**
74
     * @return string
75
     */
76
    abstract public function getAuthorizeUri();
77
78
    /**
79
     * @return string
80
     */
81
    abstract public function getRequestTokenUri();
82
83
    /**
84
     * Return Provider's name
85
     *
86
     * @return string
87
     */
88
    abstract public function getName();
89
90
    /**
91
     * @return array
92
     */
93
    public function getScope()
94
    {
95
        return $this->scope;
96
    }
97
98
    /**
99
     * @param array $scope
100
     */
101
    public function setScope(array $scope)
102
    {
103
        $this->scope = $scope;
104
    }
105
106
    /**
107
     * @return string
108
     */
109
    public function getScopeInline()
110
    {
111
        return implode(',', $this->scope);
112
    }
113
114
    /**
115
     * @return array
116
     */
117
    public function getFields()
118
    {
119
        return $this->fields;
120
    }
121
122
    /**
123
     * @param array $fields
124
     */
125
    public function setFields(array $fields)
126
    {
127
        $this->fields = $fields;
128
    }
129
130
    /**
131
     * @return string
132
     */
133
    public function getFieldsInline()
134
    {
135
        return implode(',', $this->fields);
136
    }
137
138
    /**
139
     * @return \SocialConnect\Auth\Provider\Consumer
140
     */
141
    public function getConsumer()
142
    {
143
        return $this->consumer;
144
    }
145
}
146