作为服务的发布/订阅请求身份验证(或通过服务密钥),而不是Auth0临时密钥

问题描述 投票:0回答:1

问题陈述:

我想在google pub / sub中使用基于REST的请求(使用org.apache.http.client.methods.HttpPost)来发布和订阅消息,在这里,我有以下请求将数据发布到pub / sub中主题(https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/pull

POST https://pubsub.googleapis.com/v1/projects/[project_name]/topics/[topic_id]?key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json

代替[YOUR_API_KEY],我将api密钥从https://console.cloud.google.com/apis/credentials给出未经授权的回复

{
  "error": {
    "code": 403,
    "message": "User not authorized to perform this action.",
    "status": "PERMISSION_DENIED"
  }
}

并且如果我添加从以下命令中获取的访问令牌,则>]

gcloud auth application-default print-access-token

令牌仅在60分钟的有限时间内有效。因此,我必须每小时创建一个access_token。

因为这是一个服务器到服务器的请求,所以我希望该请求被授权更长的时间,直到没有任何外部干扰为止。

任何人都可以提出建议或指出任何错误。预先谢谢你

问题陈述:我想在google pub / sub中使用基于REST的请求(使用org.apache.http.client.methods.HttpPost)来发布和订阅消息,这里我有以下请求...

authentication google-cloud-platform google-authentication google-cloud-pubsub
1个回答
1
投票

在您的用例中,使用Google Cloud Platform客户端库。认证的最佳方法是使用一种称为“应用程序默认凭据”(ADC)的策略来查找您的应用程序的凭据。

© www.soinside.com 2019 - 2024. All rights reserved.