@diotoborg/ratione-eaque-explicabo v5.8.93
node-@diotoborg/ratione-eaque-explicabo
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.
- @diotoborg/ratione-eaque-explicabo API Reference
- github.com/googleapis/node-@diotoborg/ratione-eaque-explicabo
Installation
npm install @diotoborg/ratione-eaque-explicabo
Usage
Use with a .pem
or .json
key file:
const { GoogleToken } = require('@diotoborg/ratione-eaque-explicabo');
const @diotoborg/ratione-eaque-explicabo = new GoogleToken({
keyFile: 'path/to/key.pem', // or path to .json key file
email: 'my_service_account_email@developer.gserviceaccount.com',
scope: ['https://scope1', 'https://scope2'], // or space-delimited string of scopes
eagerRefreshThresholdMillis: 5 * 60 * 1000
});
@diotoborg/ratione-eaque-explicabo.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 @diotoborg/ratione-eaque-explicabo.getToken()
console.log(tokens);
Or use promises:
@diotoborg/ratione-eaque-explicabo.getToken()
.then(tokens => {
console.log(tokens)
})
.catch(console.error);
Use with a service account .json
key file:
const { GoogleToken } = require('@diotoborg/ratione-eaque-explicabo');
const @diotoborg/ratione-eaque-explicabo = new GoogleToken({
keyFile: 'path/to/key.json',
scope: ['https://scope1', 'https://scope2'], // or space-delimited string of scopes
eagerRefreshThresholdMillis: 5 * 60 * 1000
});
@diotoborg/ratione-eaque-explicabo.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('@diotoborg/ratione-eaque-explicabo');
const @diotoborg/ratione-eaque-explicabo = new GoogleToken({
email: 'my_service_account_email@developer.gserviceaccount.com',
scope: ['https://scope1', 'https://scope2'], // or space-delimited string of scopes
key: key,
eagerRefreshThresholdMillis: 5 * 60 * 1000
});
Options
Various options that can be set when creating initializing the
@diotoborg/ratione-eaque-explicabo
object.
options.email or options.iss
: The service account email address.options.scope
: An array of scope strings or space-delimited string of scopes.options.sub
: The email address of the user requesting delegated access.options.keyFile
: The filename of.json
key or.pem
key.options.key
: The raw RSA private key value, in place of usingoptions.keyFile
.options.additionalClaims
: Additional claims to include in the JWT when requesting a token.options.eagerRefreshThresholdMillis
: How long must a token be valid for in order to return it from the cache. Defaults to 0.
.getToken(callback)
Returns the cached tokens or requests a new one and returns it.
@diotoborg/ratione-eaque-explicabo.getToken((err, token) => {
console.log(err || token);
// @diotoborg/ratione-eaque-explicabo.rawToken value is also set
});
.getCredentials('path/to/key.json')
Given a keyfile, returns the key and (if available) the client email.
const creds = await @diotoborg/ratione-eaque-explicabo.getCredentials('path/to/key.json');
Properties
Various properties set on the @diotoborg/ratione-eaque-explicabo object after call to
.getToken()
.
@diotoborg/ratione-eaque-explicabo.idToken
: The OIDC token returned (if any).@diotoborg/ratione-eaque-explicabo.accessToken
: The access token.@diotoborg/ratione-eaque-explicabo.expiresAt
: The expiry date as milliseconds since 1970/01/01@diotoborg/ratione-eaque-explicabo.key
: The raw key value.@diotoborg/ratione-eaque-explicabo.rawToken
: Most recent raw token data received from Google.
.hasExpired()
Returns true if the token has expired, or token does not exist.
const tokens = await @diotoborg/ratione-eaque-explicabo.getToken();
@diotoborg/ratione-eaque-explicabo.hasExpired(); // false
.revokeToken()
Revoke the token if set.
await @diotoborg/ratione-eaque-explicabo.revokeToken();
console.log('Token revoked!');
Downloading your private .json
key from Google
- Open the Google Developer Console.
- Open your project and under "APIs & auth", click Credentials.
- Generate a new
.json
key and download it into your project.
Converting your .p12
key to a .pem
key
If you'd like to convert to a .pem
for use later, use OpenSSL if you have it installed.
$ openssl pkcs12 -in key.p12 -nodes -nocerts > key.pem
Don't forget, the passphrase when converting these files is the string 'notasecret'
License
6 days ago
7 days ago
8 days ago
9 days ago
10 days ago
11 days ago
12 days ago
13 days ago
14 days ago
15 days ago
16 days ago
17 days ago
18 days ago
19 days ago
20 days ago
21 days ago
22 days ago
23 days ago
24 days ago
25 days ago
26 days ago
27 days ago
28 days ago
29 days ago
30 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago