gcp-refresh-token
is a cli util from plasmo to retrieve a refresh token as specified in Google's OAuth 2.0 Refresh Token Flow.
The key usecase is to leverage GCP in an external CI pipeline. The original goal of this package is to resolve chrome-webstore-api
's #12, with further discussion here. However, it can be extended for other usecases (by adding an option for more scopes).
- Configure a GCP project for the CI process
- Create an OAuth client key following this guide.
- Download the JSON key file and store it as
key.json
file. - Run
gcp-refresh-token
, replacingpnpm dlx
with your preferred package manager equivalent (npx
oryarn dlx
):
## *** DO NOT PUSH key.json TO GIT ***
# If no key file is found, it will generate a sample key.json file for you to fill out or replace
pnpm dlx gcp-refresh-token
The resulted refresh token will be written into the key.json
under the chrome
property, ready to be used in your CI pipeline. If you use bpp
, simply copy it:
{
"installed": {},
"chrome": {
"clientId": "etc",
"clientSecret": "etc",
"refreshToken": "etc"
}
}
You can also install and use it globally:
pnpm add -g gcp-refresh-token
gcp-refresh-token # or gcprt
For custom scope, add a
scope
property to thekey.json
:
{
"installed": {},
"scope": ["https://www.googleapis.com/auth/chromewebstore"]
}
# install deps
pnpm i
# link global
pnpm link --global
# run dev server
pnpm dev
gcprt help
- Commit any changes to the repository.
pnpm version patch | minor | major
pnpm publish
Join the Discord channel!