Google Cloud:从 Postman 的 Json 获取授权令牌

Ale*_*lli 4 google-cloud-platform postman bearer-token google-cloud-functions

我正在尝试使用 Postman 触发经过身份验证的 GCP 云功能。

为此,我创建了一个具有“Cloud Functions Invoker”角色的专用服务帐户,并下载了一个结构如下的 .json 密钥:

{
  "type": "service_account",
  "project_id": "xxx",
  "private_key_id": "xxx",
  "private_key": "-----BEGIN PRIVATE KEY-----\n1234=\n-----END PRIVATE KEY-----\n",
  "client_email": "xxx.iam.gserviceaccount.com",
  "client_id": "xxxx",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "xxx.iam.gserviceaccount.com"
}
Run Code Online (Sandbox Code Playgroud)

我尝试将整个“private_key”(-----BEGIN PRIVATE KEY-----\n1234=\n-----END PRIVATE KEY-----\n)粘贴为承载令牌,但我得到出现以下错误:

<title>401 Unauthorized</title>  
Run Code Online (Sandbox Code Playgroud)

现在,如何使用 GCP 中的 .json 文件通过 Postman 进行身份验证?我应该使用哪些参数?

Joh*_*ley 6

Google Cloud Functions 需要 OAuth 身份令牌进行授权。

Postman 无法处理 Google Cloud 服务帐号 JSON 密钥来为您生成令牌。

您可以使用 CLI 生成令牌:

gcloud auth print-identity-token
Run Code Online (Sandbox Code Playgroud)

令牌的有效期为一小时(3600 秒)。

将此令牌包含在 HTTP 标头中Authorization: bearer TOKEN

gcloud auth 打印身份令牌