Asyncio Google云库的身份验证帮助程序

gcloud-aio-auth的Python项目详细描述


这个库不是一个独立的项目,而是由 各种gcloud-aio-*包。

这个库实现了一个Token类,用于授权 对抗谷歌云。其他gcloud-aio-*包组件接受 Tokeninstance作为参数;您可以为所有 这些组件或为每个组件定义一个。每个组件对应于给定的 google云服务和每个服务都需要“scopes”。

Latest PyPI VersionPython Version Support

安装

$ pip install --upgrade gcloud-aio-auth

用法

fromgcloud.aio.authimportTokentoken=Token()

另外,Token构造函数接受以下可选 参数:

  • service_file:指向service account、授权用户文件或任何 其他应用程序凭据。或者,您可以传递如下文件 对象,例如io.StringIO实例,以防您的凭据不是 存储在文件中,但在内存中。如果忽略,将尝试在 从GCE元数据生成令牌的路径或回退。
  • session:一个aiohttp.ClientSession实例,用于所有 请求。如果省略,将创建默认会话。
  • scopes:为其生成 代币。仅有效(且必需!)用于service account身份验证。

cli

此项目还可用于帮助您手动验证以测试gcp 我们可以使用诸如 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 guide

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVAlang.NoSuchFieldError:类“Ljava/lang/Integer”中没有“I”字段“value”或者它的超类Android 10   java错误:SSLHandshakeException   当我缩小外圆时,有没有办法让一个圆覆盖另一个圆   java如何使用Jackson流式API编写地图列表   数组在线程“awteventque0”java中出现异常。lang.ArrayIndexOutofBounds异常:2   java删除带有大量尾随0的浮点字符串上的科学符号   java如何从get请求中获取参数?   java在Restlet中检索资源id   java OpenGL(LWJGL)TileMap仅显示一个tile   java JNA检测音频设备到达/删除   java Spring Boot JPA是否可以使用IDENTITY generator或等效程序进行批插入?   java如何使用ApachePOI根据行数将excel文件拆分为多个文件?   在Java中使用循环而不是类来获取要舍入的数字   子类中的java抛出错误、异常和运行时异常