Skip to content

Commit 408e832

Browse files
committedApr 1, 2024
added support for api token
1 parent 2d2dd78 commit 408e832

5 files changed

+30
-9
lines changed
 

‎README.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,20 @@ php artisan vendor:publish --tag="cloudflare-cache-config"
3030

3131
Add environment variables to .env file
3232

33+
##### Using global api key:
34+
3335
```dotenv
3436
CLOUDFLARE_CACHE_EMAIL=info@example.com #Cloudflare account email address
35-
CLOUDFLARE_CACHE_KEY=XXXXXXX #Cloudflare API_KEY
37+
CLOUDFLARE_CACHE_KEY=XXXXXXX #Cloudflare global api key
38+
CLOUDFLARE_CACHE_IDENTIFIER=XXXXXXX #ZONE_ID
39+
CLOUDFLARE_DEFAULT_CACHE_TTL=600 #10 minutes
40+
CLOUDFLARE_CACHE_DEBUG=false
41+
```
42+
43+
##### Using fine-grained api token:
44+
45+
```dotenv
46+
CLOUDFLARE_CACHE_API_TOKEN=XXXXXXX
3647
CLOUDFLARE_CACHE_IDENTIFIER=XXXXXXX #ZONE_ID
3748
CLOUDFLARE_DEFAULT_CACHE_TTL=600 #10 minutes
3849
CLOUDFLARE_CACHE_DEBUG=false

‎config/cloudflare-cache.php

+5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
*/
1818
'api_key' => env('CLOUDFLARE_CACHE_KEY'),
1919

20+
/**
21+
* Fine-grained api token.
22+
*/
23+
'api_token' => env('CLOUDFLARE_CACHE_API_TOKEN'),
24+
2025
/**
2126
* zone_id of your site on cloudflare dashboard.
2227
*/

‎src/CloudflareCache.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,16 @@ public function isActive(): bool
9999
return true;
100100
}
101101

102-
if (! config('cloudflare-cache.api_email')
103-
|| ! config('cloudflare-cache.api_key')
104-
|| ! config('cloudflare-cache.identifier')
105-
) {
102+
if (! config('cloudflare-cache.identifier')) {
106103
return false;
107104
}
108105

106+
if (! config('cloudflare-cache.api_token')) {
107+
if (! config('cloudflare-cache.api_email') || ! config('cloudflare-cache.api_key')) {
108+
return false;
109+
}
110+
}
111+
109112
if (config('cloudflare-cache.debug')) {
110113
return true;
111114
}

‎src/CloudflareCacheServiceProvider.php

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public function registerClient(): static
4747
config('cloudflare-cache.api_email'),
4848
config('cloudflare-cache.api_key'),
4949
config('cloudflare-cache.identifier'),
50+
config('cloudflare-cache.api_token'),
5051
);
5152
});
5253

‎src/Services/CloudflareService.php

+5-4
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,18 @@ public function __construct(
1414
private readonly ?string $apiEmail,
1515
private readonly ?string $apiKey,
1616
private readonly ?string $identifier,
17+
private readonly ?string $apiToken,
1718
) {
1819
// .
1920
}
2021

2122
private function request(): PendingRequest
2223
{
2324
/** @noinspection PhpIncompatibleReturnTypeInspection */
24-
return $this->client->withHeaders([
25-
'X-Auth-Email' => $this->apiEmail,
26-
'X-Auth-Key' => $this->apiKey,
27-
]);
25+
return $this->client->withHeaders($this->apiToken
26+
? ['Authorization' => 'Bearer ' . $this->apiToken]
27+
: ['X-Auth-Email' => $this->apiEmail, 'X-Auth-Key' => $this->apiKey]
28+
);
2829
}
2930

3031
protected function getBaseUrl(string $endpoint): string

0 commit comments

Comments
 (0)
Please sign in to comment.