Skip to content

Commit 6c132ef

Browse files
committed
Merge pull request #74 from auth0/3.x.x-dev
3.1.0
2 parents ca3e22c + ed6aa11 commit 6c132ef

24 files changed

+105
-96
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ This is a common issue with latest PHP versions under windows (related to a inco
4040
```
4141
$token = "eyJhbGciO....eyJhdWQiOiI....1ZVDisdL...";
4242
$domain = "account.auth0.com";
43+
$guzzleOptions = [ ... ];
4344
44-
$auth0Api = new \Auth0\SDK\Auth0Api($token, $domain);
45+
$auth0Api = new \Auth0\SDK\Auth0Api($token, $domain, $guzzleOptions); /* $guzzleOptions is optional */
4546
4647
$usersList = $auth0Api->users->search([ "q" => "[email protected]" ]);
4748
```

src/API/Blacklists.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Blacklists {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Blacklists extends GenericResource {
159

1610
public function getAll($aud) {
1711

src/API/Clients.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Clients {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Clients extends GenericResource {
159

1610
public function getAll($fields = null, $include_fields = null) {
1711

src/API/Connections.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Connections {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Connections extends GenericResource {
159

1610
public function getAll($strategy = null, $fields = null, $include_fields = null) {
1711

src/API/DeviceCredentials.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,11 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class DeviceCredentials {
8+
class DeviceCredentials extends GenericResource {
99

1010
const TYPE_PUBLIC_KEY = 'public_key';
1111
const TYPE_REFESH_TOKEN = 'refresh_token';
1212

13-
protected $apiClient;
14-
15-
public function __construct(ApiClient $apiClient) {
16-
$this->apiClient = $apiClient;
17-
}
18-
1913
public function getAll($user_id = null, $client_id = null, $type = null, $fields = null, $include_fields = null) {
2014

2115
$request = $this->apiClient->get()

src/API/Emails.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Emails {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Emails extends GenericResource {
159

1610
public function getEmailProvider($fields = null, $include_fields = null) {
1711

src/API/GenericResource.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php namespace Auth0\SDK\API;
2+
3+
use Auth0\SDK\API\Helpers\ApiClient;
4+
5+
class GenericResource {
6+
7+
protected $apiClient;
8+
9+
public function __construct(ApiClient $apiClient) {
10+
$this->apiClient = $apiClient;
11+
}
12+
13+
public function getApiClient() {
14+
return $this->apiClient;
15+
}
16+
17+
}

src/API/Helpers/ApiClient.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,13 @@ public static function disableInfoHeaders(){
4242
protected $domain;
4343
protected $basePath;
4444
protected $headers;
45+
protected $guzzleOptions;
4546

4647
public function __construct($config) {
4748
$this->basePath = $config['basePath'];
4849
$this->domain = $config['domain'];
49-
$this->headers = isset($config['headers']) ? $config['headers'] : array();
50+
$this->headers = isset($config['headers']) ? $config['headers'] : [];
51+
$this->guzzleOptions = isset($config['guzzleOptions']) ? $config['guzzleOptions'] : [];
5052

5153
if (self::$infoHeadersDataEnabled) {
5254
$this->headers[] = new Header('Auth0-Client', self::getInfoHeadersData()->build());
@@ -56,8 +58,9 @@ public function __construct($config) {
5658
public function __call($name, $arguments) {
5759
$builder = new RequestBuilder(array(
5860
'domain' => $this->domain,
61+
'basePath' => $this->basePath,
5962
'method' => $name,
60-
'path' => array( $this->basePath ),
63+
'guzzleOptions' => $this->guzzleOptions
6164
));
6265

6366
return $builder->withHeaders($this->headers);

src/API/Helpers/RequestBuilder.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,24 @@
1313

1414
class RequestBuilder {
1515

16+
protected $domain;
17+
protected $basePath;
18+
1619
protected $path = [];
1720
protected $method = [];
1821
protected $headers = [];
1922
protected $params = [];
2023
protected $form_params = [];
2124
protected $files = [];
25+
protected $guzzleOptions = [];
2226
protected $body;
2327

2428
public function __construct( $config ) {
2529

2630
$this->method = $config['method'];
2731
$this->domain = $config['domain'];
32+
$this->basePath = isset($config['basePath']) ? $config['basePath'] : '';
33+
$this->guzzleOptions = isset($config['guzzleOptions']) ? $config['guzzleOptions'] : [];
2834
$this->headers = isset($config['headers']) ? $config['headers'] : array();
2935
if (array_key_exists('path', $config)) $this->path = $config['path'];
3036

@@ -57,7 +63,7 @@ public function addPathVariable($variable) {
5763
}
5864

5965
public function getUrl() {
60-
return $this->domain . '/' . trim(implode('/',$this->path), '/') . $this->getParams();
66+
return trim(implode('/',$this->path), '/') . $this->getParams();
6167
}
6268

6369
public function getParams() {
@@ -96,8 +102,16 @@ public function addFormParam($key, $value) {
96102
return $this;
97103
}
98104

105+
public function getGuzzleOptions() {
106+
return array_merge(
107+
["base_uri" => $this->domain . $this->basePath],
108+
$this->guzzleOptions
109+
);
110+
}
111+
99112
public function call() {
100-
$client = new Client();
113+
114+
$client = new Client( $this->getGuzzleOptions() );
101115

102116
try {
103117

src/API/Jobs.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Jobs {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Jobs extends GenericResource {
159

1610
public function get($id) {
1711

src/API/Rules.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Rules {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Rules extends GenericResource {
159

1610
public function getAll($enabled = null, $fields = null, $include_fields = null) {
1711

src/API/Stats.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Stats {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Stats extends GenericResource {
159

1610
public function getActiveUsersCount() {
1711

src/API/Tenants.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Tenants {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Tenants extends GenericResource {
159

1610
public function get($fields = null, $include_fields = null) {
1711

src/API/Tickets.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Tickets {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Tickets extends GenericResource {
159

1610
public function createEmailVerificationTicket($user_id, $result_url = null) {
1711

src/API/UserBlocks.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class UserBlocks {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class UserBlocks extends GenericResource {
159

1610
public function get($user_id) {
1711

src/API/Users.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
use Auth0\SDK\API\Helpers\ApiClient;
66
use Auth0\SDK\API\Header\ContentType;
77

8-
class Users {
9-
10-
protected $apiClient;
11-
12-
public function __construct(ApiClient $apiClient) {
13-
$this->apiClient = $apiClient;
14-
}
8+
class Users extends GenericResource {
159

1610
public function get($user_id) {
1711

src/Auth0Api.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class Auth0Api {
2222
private $token;
2323
private $domain;
2424
private $apiClient;
25+
private $guzzleOptions;
2526

2627
public $blacklists;
2728
public $clients;
@@ -36,9 +37,10 @@ class Auth0Api {
3637
public $userBlocks;
3738
public $users;
3839

39-
public function __construct($token, $domain) {
40+
public function __construct($token, $domain, $guzzleOptions = []) {
4041
$this->token = $token;
4142
$this->domain = $domain;
43+
$this->guzzleOptions = $guzzleOptions;
4244

4345
$this->setApiClient();
4446

@@ -61,7 +63,8 @@ protected function setApiClient() {
6163

6264
$client = new ApiClient([
6365
'domain' => $apiDomain,
64-
'basePath' => '/api/v2',
66+
'basePath' => '/api/v2/',
67+
'guzzleOptions' => $this->guzzleOptions,
6568
'headers' => [
6669
new AuthorizationBearer($this->token)
6770
]

tests/BasicCrudTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
abstract class BasicCrudTest extends ApiTests {
77

8+
protected $domain;
9+
810
protected abstract function getApiClient();
911
protected abstract function getCreateBody();
1012
protected abstract function getUpdateBody();
@@ -19,6 +21,11 @@ public function testAll() {
1921

2022
$client = $this->getApiClient();
2123

24+
$options = $client->getApiClient()->get()->getGuzzleOptions();
25+
26+
$this->assertArrayHasKey('base_uri', $options);
27+
$this->assertEquals("https://$this->domain/api/v2/", $options['base_uri']);
28+
2229
$created = $client->create($this->getCreateBody());
2330

2431
$all = $client->getAll();

tests/BlacklistsTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ public function testBlacklistAndGet() {
1313
]
1414
]);
1515

16+
$this->domain = $env['DOMAIN'];
17+
1618
$api = new Auth0Api($token, $env['DOMAIN']);
1719

1820
$aud = $env["GLOBAL_CLIENT_ID"];

tests/ClientsTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ protected function getApiClient() {
1717
]
1818
]);
1919

20+
$this->domain = $env['DOMAIN'];
21+
2022
$api = new Auth0Api($token, $env['DOMAIN']);
2123

2224
return $api->clients;

tests/ConnectionsTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ protected function getApiClient() {
1313
]
1414
]);
1515

16+
$this->domain = $env['DOMAIN'];
17+
1618
$api = new Auth0Api($token, $env['DOMAIN']);
1719

1820
return $api->connections;

0 commit comments

Comments
 (0)