Skip to main content

Auth Helpers for Asyncio Google Cloud Library

Project description

This library is not meant to be a standalone project, rather it is used by various gcloud-aio-* packages.

This library implements a Token class, which is used for authorizing against Google Cloud. The other gcloud-aio-* package components accept a Token instance as an argument; you can define a single token for all of these components or define one for each. Each component corresponds to a given Google Cloud service and each service requires “scopes”.

Latest PyPI Version Python Version Support

Installation

$ pip install --upgrade gcloud-aio-auth

Usage

from gcloud.aio.auth import Token

token = Token()

Additionally, the Token constructor accepts the following optional arguments:

  • service_file: path to a service account, authorized user file, or any other application credentials. If omitted, will attempt to find one on your path or fallback to generating a token from GCE metadata.

  • session: an aiohttp.ClientSession instance to be used for all requests. If omitted, a default session will be created.

  • scopes: an optional list of GCP scopes for which to generate our token. Only valid (and required!) for service account authentication.

CLI

This project can also be used to help you manually authenticate to test GCP routes, eg. we can list our project’s uptime checks with a tool such as curl:

# using default application credentials
curl \
  -H "Authorization: Bearer $(python3 -c 'import asyncio; from gcloud.aio.auth import Token; print(asyncio.run(Token().get()))')" \
  "https://monitoring.googleapis.com/v3/projects/PROJECT_ID/uptimeCheckConfigs"

# using a service account (make sure to provide a scope!)
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service.json
curl \
  -H "Authorization: Bearer $(python3 -c 'import asyncio; from gcloud.aio.auth import Token; print(asyncio.run(Token(scopes=["'"https://www.googleapis.com/auth/cloud-platform"'"]).get()))')" \
  "https://monitoring.googleapis.com/v3/projects/PROJECT_ID/uptimeCheckConfigs"

# using legacy account credentials
export GOOGLE_APPLICATION_CREDENTIALS=~/.config/gcloud/legacy_credentials/EMAIL@DOMAIN.TLD/adc.json
curl \
  -H "Authorization: Bearer $(python3 -c 'import asyncio; from gcloud.aio.auth import Token; print(asyncio.run(Token().get()))')" \
  "https://monitoring.googleapis.com/v3/projects/PROJECT_ID/uptimeCheckConfigs"

Contributing

Please see our contributing guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gcloud-aio-auth-2.1.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

gcloud_aio_auth-2.1.0-py2.py3-none-any.whl (11.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file gcloud-aio-auth-2.1.0.tar.gz.

File metadata

  • Download URL: gcloud-aio-auth-2.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for gcloud-aio-auth-2.1.0.tar.gz
Algorithm Hash digest
SHA256 80cdd6d35ed8a8ede5731d8f70aff64c557eb0726aab3d5956e85b841cc3bdd5
MD5 25f49b96d8547da204e1f5a7666c4b44
BLAKE2b-256 57003e18e6aa7adc400d19033b3f7e238b5703677dcc0f991268b6f3a1ff3091

See more details on using hashes here.

File details

Details for the file gcloud_aio_auth-2.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: gcloud_aio_auth-2.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0

File hashes

Hashes for gcloud_aio_auth-2.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 256b46b4d8459a4523151056162dc1dfb3b9e2c62a10af77be2b9b518c4b43ed
MD5 78302b26944a3b1322e561495a94e5e1
BLAKE2b-256 dd48bc3890eb8f3f0f45e62eda101488613a77adfdaacbd35da64f09726faf70

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page