Updating NPM dependencies
This commit is contained in:
92
node_modules/google-auth-library/README.md
generated
vendored
92
node_modules/google-auth-library/README.md
generated
vendored
@@ -250,12 +250,11 @@ const {JWT} = require('google-auth-library');
|
||||
const keys = require('./jwt.keys.json');
|
||||
|
||||
async function main() {
|
||||
const client = new JWT(
|
||||
keys.client_email,
|
||||
null,
|
||||
keys.private_key,
|
||||
['https://www.googleapis.com/auth/cloud-platform'],
|
||||
);
|
||||
const client = new JWT({
|
||||
email: keys.client_email,
|
||||
key: keys.private_key,
|
||||
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
|
||||
});
|
||||
const url = `https://dns.googleapis.com/dns/v1/projects/${keys.project_id}`;
|
||||
const res = await client.request({url});
|
||||
console.log(res.data);
|
||||
@@ -334,6 +333,85 @@ async function main() {
|
||||
main().catch(console.error);
|
||||
```
|
||||
|
||||
## Working with ID Tokens
|
||||
### Fetching ID Tokens
|
||||
If your application is running on Cloud Run or Cloud Functions, or using Cloud Identity-Aware
|
||||
Proxy (IAP), you will need to fetch an ID token to access your application. For
|
||||
this, use the method `getIdTokenClient` on the `GoogleAuth` client.
|
||||
|
||||
For invoking Cloud Run services, your service account will need the
|
||||
[`Cloud Run Invoker`](https://cloud.google.com/run/docs/authenticating/service-to-service)
|
||||
IAM permission.
|
||||
|
||||
For invoking Cloud Functions, your service account will need the
|
||||
[`Function Invoker`](https://cloud.google.com/functions/docs/securing/authenticating#function-to-function)
|
||||
IAM permission.
|
||||
|
||||
``` js
|
||||
// Make a request to a protected Cloud Run service.
|
||||
const {GoogleAuth} = require('google-auth-library');
|
||||
|
||||
async function main() {
|
||||
const url = 'https://cloud-run-1234-uc.a.run.app';
|
||||
const auth = new GoogleAuth();
|
||||
const client = await auth.getIdTokenClient(url);
|
||||
const res = await client.request({url});
|
||||
console.log(res.data);
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
```
|
||||
|
||||
A complete example can be found in [`samples/idtokens-serverless.js`](https://github.com/googleapis/google-auth-library-nodejs/blob/master/samples/idtokens-serverless.js).
|
||||
|
||||
For invoking Cloud Identity-Aware Proxy, you will need to pass the Client ID
|
||||
used when you set up your protected resource as the target audience.
|
||||
|
||||
``` js
|
||||
// Make a request to a protected Cloud Identity-Aware Proxy (IAP) resource
|
||||
const {GoogleAuth} = require('google-auth-library');
|
||||
|
||||
async function main()
|
||||
const targetAudience = 'iap-client-id';
|
||||
const url = 'https://iap-url.com';
|
||||
const auth = new GoogleAuth();
|
||||
const client = await auth.getIdTokenClient(targetAudience);
|
||||
const res = await client.request({url});
|
||||
console.log(res.data);
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
```
|
||||
|
||||
A complete example can be found in [`samples/idtokens-iap.js`](https://github.com/googleapis/google-auth-library-nodejs/blob/master/samples/idtokens-iap.js).
|
||||
|
||||
### Verifying ID Tokens
|
||||
|
||||
If you've [secured your IAP app with signed headers](https://cloud.google.com/iap/docs/signed-headers-howto),
|
||||
you can use this library to verify the IAP header:
|
||||
|
||||
```js
|
||||
const {OAuth2Client} = require('google-auth-library');
|
||||
// Expected audience for App Engine.
|
||||
const expectedAudience = `/projects/your-project-number/apps/your-project-id`;
|
||||
// IAP issuer
|
||||
const issuers = ['https://cloud.google.com/iap'];
|
||||
// Verify the token. OAuth2Client throws an Error if verification fails
|
||||
const oAuth2Client = new OAuth2Client();
|
||||
const response = await oAuth2Client.getIapCerts();
|
||||
const ticket = await oAuth2Client.verifySignedJwtWithCertsAsync(
|
||||
idToken,
|
||||
response.pubkeys,
|
||||
expectedAudience,
|
||||
issuers
|
||||
);
|
||||
|
||||
// Print out the info contained in the IAP ID token
|
||||
console.log(ticket)
|
||||
```
|
||||
|
||||
A complete example can be found in [`samples/verifyIdToken-iap.js`](https://github.com/googleapis/google-auth-library-nodejs/blob/master/samples/verifyIdToken-iap.js).
|
||||
|
||||
## Questions/problems?
|
||||
|
||||
* Ask your development related questions on [Stack Overflow][stackoverflow].
|
||||
@@ -364,4 +442,4 @@ This library is licensed under Apache 2.0. Full license text is available in [LI
|
||||
[snyk-image]: https://snyk.io/test/github/googleapis/google-auth-library-nodejs/badge.svg
|
||||
[snyk-url]: https://snyk.io/test/github/googleapis/google-auth-library-nodejs
|
||||
[stackoverflow]: http://stackoverflow.com/questions/tagged/google-auth-library-nodejs
|
||||
[devconsole]: https://console.developer.google.com
|
||||
[devconsole]: https://console.cloud.google.com/
|
||||
|
||||
Reference in New Issue
Block a user