我有一个工具,我需要设置一个流,上传文件到GCS(授予服务帐户的权利)。
该工具的问题是它是一个UI,并且只支持"Oauth 2.0授权类型流"。它要求:
Authorization Server URL
clientId
client Secret
仅使用以下3个参数似乎无法通过服务帐户进行身份验证:Authorization Server URL
、clientId
和一个client Secret
这个应用程序的问题是它不能使用代码。否则我会使用Python,这样做很容易。
根据我对服务帐户GCP中Oauth2的理解:
https://developers.google.com/identity/protocols/oauth2/service-account
https://cloud.google.com/bigquery/docs/authorization
我们需要通过使用base64和sha256进行一些签名来生成JWT令牌。这不是一个可行的解决方案,因为应用程序不能使用代码或此类算法。
我在互操作性系统和HMAC密钥方面遇到了同样的问题:https://cloud.google.com/storage/docs/aws-simple-migration
需要签名:https://cloud.google.com/storage/docs/authentication/signatures
除非我漏掉了什么,否则这项任务似乎是不可能完成的。
谢谢你的帮助!
1条答案
按热度按时间tag5nh1u1#
由于您的软件有一个UI,并且它要求url/cliendID/secret,因此它很有可能使用oauth2协议为您执行令牌生成。
尝试以下方法:
网址-〉https://accounts.google.com/o/oauth2/auth
ClientID -〉您的服务帐户电子邮件
Secret -〉您的服务帐户密钥秘密(您必须通过选择服务帐户从GCP控制台UI生成JSON格式的密钥)