The PHP 8.2+ library is a PSR-7 HTTP client based on Guzzle and the official Google Auth PHP package for services hosted on Google Cloud Platform Cloud Run.
The recommended way to install the library is through Composer:
composer require codeinc/cloudrun-auth-http-client
A GCP service account is required to authenticate the requests sent to a Cloud Run service. If you do not already have a service account, follow instructions on this page in order to create one.
Before using the library the service account must be authenticated to send requests to the Cloud Run service following these steps.
use CodeInc\CloudRunAuthHttpClient\HttpClientFactory;
// create a new HttpClientFactory instance
$factory = new HttpClientFactory();
// create the client using a JSON file for the service account key
$httpClient = $factory->factory(
// Cloud Run service URL
'https://my-service-12345-uc.a.run.app',
// path to your service account key
'/path/to/your/service-account-key.json'
);
// create the client using a key stored in memory
$httpClient = $factory->factory(
// Cloud Run service URL
'https://my-service-12345-uc.a.run.app',
// service account key
[
'type' => 'service_account',
// the rest of the service account key
]
);
// create the client using a key stored in a environment variable
$httpClient = $factory->factory(
// Cloud Run service URL
'https://my-service-12345-uc.a.run.app',
// service account key
json_decode(getenv('SERVICE_ACCOUNT_KEY'), true)
);
The library is published under the MIT license (see LICENSE
file).