PHP code example of antogkou / laravel-oauth2-client
1. Go to this page and download the library: Download antogkou/laravel-oauth2-client library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
antogkou / laravel-oauth2-client example snippets
return [
'services' => [
'service1' => [
'client_id' => env('SERVICE1_CLIENT_ID'),
'client_secret' => env('SERVICE1_CLIENT_SECRET'),
'token_url' => env('SERVICE1_TOKEN_URL'),
'scope' => env('SERVICE1_SCOPE', ''),
],
],
'cache_prefix' => 'oauth2_',
'expiration_buffer' => 60, // Seconds before expiration to renew token
'logging' => [
'enabled' => true,
'level' => 'error',
'redact' => [
'headers.authorization',
'body.password',
'response.access_token'
]
]
];
use Antogkou\LaravelOAuth2Client\Facades\OAuth2;
// GET request
$response = OAuth2::for('service1')->get('https://api.service.com/data');
// POST request with JSON payload
$response = OAuth2::for('service1')->post('https://api.service.com/data', [
'json' => [
'name' => 'John Doe',
'email' => '[email protected] '
]
]);
// POST form data
$response = OAuth2::for('service1')->post('https://api.service.com/data', [
'form_params' => [
'name' => 'John Doe',
'email' => '[email protected] '
]
]);
// PUT request with JSON payload
$response = OAuth2::for('service1')->put('https://api.service.com/data/1', [
'json' => [
'name' => 'Updated Name'
]
]);
// PATCH request with JSON payload
$response = OAuth2::for('service1')->patch('https://api.service.com/data/1', [
'json' => [
'status' => 'active'
]
]);
// Request with custom headers
$response = OAuth2::for('service1')->post('https://api.service.com/data', [
'json' => [
'name' => 'John Doe'
],
'headers' => [
'X-Custom-Header' => 'value',
'Accept' => 'application/json'
]
]);
// Get JSON response
$data = $response->json();
$options = [
'json' => [
'key' => 'value',
'nested' => ['data' => 'value']
]
];
$options = [
'form_params' => [
'field1' => 'value1',
'field2' => 'value2'
]
];
$options = [
'multipart' => [
[
'name' => 'file',
'contents' => fopen('path/to/file.pdf', 'r')
],
[
'name' => 'field',
'contents' => 'value'
]
]
];
$options = [
'headers' => [
'Accept' => 'application/json',
'X-Custom-Header' => 'value'
],
'json' => [
'data' => 'value'
]
];
OAuth2::for('service1')->get($url, $options = []);
OAuth2::for('service1')->post($url, $options = []);
OAuth2::for('service1')->put($url, $options = []);
OAuth2::for('service1')->patch($url, $options = []);
OAuth2::for('service1')->delete($url, $options = []);
OAuth2::for('service1')->request($method, $url, $options = []);
$response = OAuth2::for('service1')->post('https://api.service.com/data', [
'json' => ['name' => 'John']
]);
if ($response->successful()) {
$data = $response->json();
$status = $response->status(); // 200, 201, etc.
$headers = $response->headers();
} else {
$errorData = $response->json();
$statusCode = $response->status();
}
try {
OAuth2::for('service1')->get('https://api.service.com/data');
} catch (OAuth2Exception $e) {
// Handle exception
$errorContext = $e->getContext();
}
bash
php artisan vendor:publish --tag=oauth2-client-config