首页 > 解决方案 > 如何使用 java 而不是 gcloud 命令获取 gcloud 的 id_token

问题描述

有人可以给我一段 java 代码来使用谷歌帐户在 GCP 上获取 id_token 吗?

我在 GCP 上部署了一个 restful api 端点服务来测试。我可以使用我的 google 帐户使用命令“gcloud config config-helper”(例如 id_token:eyJadhI6....)来获取 id_token。然后将此 id_token 作为授权值放置在标头中。REST 请求按预期触发。但是我需要使用 Java 而不是从控制台命令行执行相同的操作来获取有效的 id_token。

标签: javaauthenticationtokengcloud

解决方案


我鼓励您使用 Google 提供的客户端库 (SDK) 之一。

这些都是开源的,并由谷歌测试,为您的开发提供了一个更好的平台。

请参阅: https ://cloud.google.com/apis/docs/cloud-client-libraries https://github.com/googleapis/google-cloud-java

和: https ://github.com/googleapis/google-cloud-java#authentication

使用这些 SDK,您将避免直接通过底层 REST API 导航的复杂性。

几个有用的技巧|指针:

  • Google APIs Explorer使您能够从浏览器使用 REST API
  • 如果您附加--log-http任何 gcloud命令,则会记录 REST 调用。

注意有 2 种 API(API 客户端库和云客户端库)请参阅说明。Cloud Client Libraries 更现代、更惯用,如果您主要使用 GCP,则首选这些库。


推荐阅读