1
0
Fork 0
mirror of https://github.com/imjasonh/gcloud-help synced 2026-07-08 10:35:03 +00:00
gcloud-help/gcloud/auth/application-default/print-access-token
2023-04-26 10:24:37 +00:00

81 lines
3.7 KiB
Text

NAME
gcloud auth application-default print-access-token - print an access token
for your current Application Default Credentials
SYNOPSIS
gcloud auth application-default print-access-token [--lifetime=LIFETIME]
[--scopes=SCOPE,[SCOPE,...]] [GCLOUD_WIDE_FLAG ...]
DESCRIPTION
gcloud auth application-default print-access-token generates and prints an
access token for the current Application Default Credential (ADC). The ADC
(https://google.aip.dev/auth/4110) can be specified either by using gcloud
auth application-default login, gcloud auth login
--cred-file=/path/to/cred/file --update-adc, or by setting the
GOOGLE_APPLICATION_CREDENTIALS environment variable.
The access token generated by gcloud auth application-default
print-access-token is useful for manually testing APIs via curl or similar
tools.
In order to print details of the access token, such as the associated
account and the token's expiration time in seconds, run:
$ curl -H "Content-Type: application/x-www-form-urlencoded" \
-d "access_token=$(gcloud auth application-default print-access-token)" \
https://www.googleapis.com/oauth2/v1/tokeninfo
Note that token itself may not be enough to access some services. If you
use the token with curl or similar tools, you may see permission errors
similar to "Your application has authenticated using end user credentials
from the Google Cloud SDK or Google Cloud Shell". If it happens, you may
need to provide a quota project in the "X-Goog-User-Project" header. For
example,
$ curl -H "X-Goog-User-Project: your-project" \
-H \
"Authorization: Bearer $(gcloud auth application-default \
print-access-token)" foo.googleapis.com
The identity that granted the token must have the serviceusage.services.use
permission on the provided project. See
https://cloud.google.com/apis/docs/system-parameters for more information.
FLAGS
--lifetime=LIFETIME
Access token lifetime. The default access token lifetime is 3600
seconds, but you can use this flag to reduce the lifetime or extend it
up to 43200 seconds (12 hours). The org policy constraint
constraints/iam.allowServiceAccountCredentialLifetimeExtension must be
set if you want to extend the lifetime beyond 3600 seconds. Note that
this flag is for service account impersonation only, so it only works
when either --impersonate-service-account flag or
auth/impersonate_service_account property is set.
--scopes=SCOPE,[SCOPE,...]
The scopes to authorize for. This flag is supported for user accounts
and service accounts only. The list of possible scopes can be found at:
https://developers.google.com/identity/protocols/googlescopes.
For end-user accounts, the provided scopes must be from [openid,
https://www.googleapis.com/auth/userinfo.email,
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/sqlservice.login], or the scopes
previously specified through gcloud auth application-default login
--scopes.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account,
--billing-project, --configuration, --flags-file, --flatten, --format,
--help, --impersonate-service-account, --log-http, --project, --quiet,
--trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
NOTES
These variants are also available:
$ gcloud alpha auth application-default print-access-token
$ gcloud beta auth application-default print-access-token