Skip to content
Snippets Groups Projects
Select Git revision
  • 87d053adf7dc216fa5afb1e597ef1b94fe5b87b1
  • main default
2 results

questions.md

Blame
  • README.md 5.24 KiB
    Google Cloud Platform logo

    node-gtoken

    npm version Known Vulnerabilities codecov Code Style: Google

    Node.js Google Authentication Service Account Tokens

    This is a low level utility library used to interact with Google Authentication services. In most cases, you probably want to use the google-auth-library instead.

    Installation

    npm install gtoken

    Usage

    Use with a .pem or .p12 key file:

    const { GoogleToken } = require('gtoken');
    const gtoken = new GoogleToken({
      keyFile: 'path/to/key.pem', // or path to .p12 key file
      email: 'my_service_account_email@developer.gserviceaccount.com',
      scope: ['https://scope1', 'https://scope2'] // or space-delimited string of scopes
    });
    
    gtoken.getToken((err, tokens) => {
      if (err) {
        console.log(err);
        return;
      }
      console.log(tokens);
      // {
      //   access_token: 'very-secret-token',
      //   expires_in: 3600,
      //   token_type: 'Bearer'
      // }
    });

    You can also use the async/await style API:

    const tokens = await gtoken.getToken()
    console.log(tokens);

    Or use promises:

    gtoken.getToken()
      .then(tokens => {
        console.log(tokens)
      })
      .catch(console.error);

    Use with a service account .json key file:

    const { GoogleToken } = require('gtoken');
    const gtoken = new GoogleToken({
      keyFile: 'path/to/key.json',
      scope: ['https://scope1', 'https://scope2'] // or space-delimited string of scopes
    });
    
    gtoken.getToken((err, tokens) => {
      if (err) {
        console.log(err);
        return;
      }
      console.log(tokens);
    });

    Pass the private key as a string directly:

    const key = '-----BEGIN RSA PRIVATE KEY-----\nXXXXXXXXXXX...';
    const { GoogleToken } = require('gtoken');
    const gtoken = new GoogleToken({
      email: 'my_service_account_email@developer.gserviceaccount.com',
      scope: ['https://scope1', 'https://scope2'], // or space-delimited string of scopes
      key: key
    });

    Options