Skip to content
This repository has been archived by the owner on Dec 5, 2023. It is now read-only.

A library that facilitates the authentication of Google service accounts on WordPress.

Notifications You must be signed in to change notification settings

wp-api-libraries/wp-google-service-account

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WP Google Service Account

GCP service accounts the WordPress way

How to use

The WPGoogleServiceAccount class constructor takes 2 arguments. The first is the JSON service account key provided by google decoded into an array. The second is the scope to which you would like to authenticate the service account to.

Calling the get_token method will retrieve a brand new token using google's Oauth 2.0 API endpoints, or it'll return a previously cached token if available.

<?php
$service_key = json_decode('{
  "type": "service_account",
  "project_id": "your-gcp-project-id",
  "private_key_id": "11111122222233333333444444455555",
  "private_key": "-----BEGIN PRIVATE KEY-----\nsdfsdfasga@EF@EVSDVWEXVVSDVSDVSwERWRWDVDFBFBBTBTSDVSDVSVDDVDVDSVSDVSFBDFBDFBDFVDSVSDVSDVSDVBFBETKILOL^%%%%%%FGTNTNTHN=\n-----END PRIVATE KEY-----\n",
  "client_email": "user-name@your-gcp-project-id.iam.gserviceaccount.com",
  "client_id": "12312423423423524523",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/user-name%40your-gcp-project-id.iam.gserviceaccount.com"
}
', true);

// Takes 2 arguments, the service key as an array and the scope to authenticate.
// You can find differenct API scopes here <https://developers.google.com/oauthplayground/>
$gcp_service_account = new WPGoogleServiceAccount( $service_key, 'https://www.googleapis.com/auth/cloud-platform');

// Takes care of retrieving, storing, and refreshing the token as needed.
$token  = $gcp_service_account->get_token();

About

A library that facilitates the authentication of Google service accounts on WordPress.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages