如何在GCP中以编程方式获取身份验证令牌

时间:2018-09-07 09:06:49

标签: google-cloud-platform jwt google-compute-engine

我需要访问Compute Engine的API。我可以通过SDK来做到这一点,但我想使用API​​。 我正在尝试遵循以下指示: https://cloud.google.com/iap/docs/authentication-howto 但是,当我尝试访问API时,会得到:

    com.google.api.client.http.HttpResponseException: 400 Bad Request
   {
    "error": "invalid_scope",
     "error_description": "<my private key id> is not a valid audience string."
  }

在这一行中,我提供了iapClientId的私钥ID:

   String jwt = getSignedJwt(credentials, iapClientId);

对于范围,我正在使用https://www.googleapis.com/auth/cloud-platform

谢谢!

P.S。我使用Java作为语言

1 个答案:

答案 0 :(得分:0)

您可以使用these instructions来说明如何通过使用environment variable或指定credentials manually来创建默认凭证来进行API调用。

此外,您可以遵循this code来使用应用程序默认凭据。该文档也有一些示例,也可以将Java客户端也用于Compute Engine。