npm.io
0.1.2 • Published 2 years ago

google-cloud-edge-service-account-auth

Licence
LGPL-3.0-or-later
Version
0.1.2
Deps
1
Size
44 kB
Vulns
0
Weekly
0

google-cloud-edge-service-account-auth

This library was created for use in Edge Runtimes (such as Cloudflare Workers and Vercel Edge) to interact with the Google Cloud APIs using a service account JSON.

Usage

import { GoogleAuthClient } from 'google-cloud-edge-service-account-auth';

const authClient = new GoogleAuthClient(
  {
    client_email: '...',
    private_key: '...',
  },
  { fetch }
);

const { access_token } = await authClient.authenticate([
  'https://www.googleapis.com/auth/devstorage.full_control',
]);

await fetch('https://storage.googleapis.com/storage/v1/b/bucketName/o/', {
  headers: [['Authorization', `Bearer ${access_token}`]],
});

Configuration Options

The 2nd constructor argument accepts a few configuration options as explained below:

name description
fetch Used to define the fetch implementation
authCache Should implement a GoogleAuthCache instance (exported by the library). Can be used to cache tokens in a third party library or service.
expiryThresholdSeconds Used to determine when to refresh tokens (defaults to 60)