如何在 Google Pub/Sub 中验证外部发布者?

Posted

技术标签:

【中文标题】如何在 Google Pub/Sub 中验证外部发布者?【英文标题】:How to Authenticate an External Publisher in Google Pub/Sub? 【发布时间】:2017-05-15 12:54:38 【问题描述】:

我正在尝试从 Web 服务(发布者)获取数据。

网络服务允许我通过网络挂钩将数据(消息)发送到任何 URL。我的计划是将其发送到 Google Pub/Sub 主题。

但是,Google Pub/Sub 无法识别此第三方网络服务。它正在返回一个 http 401 响应代码,这意味着 Web 服务未经过身份验证。

我的问题是,我该如何验证它?

【问题讨论】:

【参考方案1】:

对向 Google Cloud Pub/Sub 或任何其他 Google Cloud Platform 服务发出的请求进行身份验证可以通过几种不同的方式完成。在您的情况下,您想通过 REST API 发出直接请求,您需要创建一个服务帐户并通过 OAuth 2.0 进行身份验证。 Using OAuth 2.0 for Server to Server Applications guide 详细说明了该过程。如果您使用的 Web 服务支持对其发出的请求进行 OAuth 2.0 身份验证,那么您基本上应该已设置好。如果没有,那么您将不得不手动获取访问令牌(并在它们过期时获取新的令牌)。

【讨论】:

以上是关于如何在 Google Pub/Sub 中验证外部发布者?的主要内容,如果未能解决你的问题,请参考以下文章

Google Clas-s-room Pub/Sub 注册返回 403 身份验证错误

如何在 google Pub/Sub 中快速发布多条消息?

Google Pub/Sub 的 RetryPolicy 中配置的指数退避如何工作?

在 Google Pub/Sub 订阅创建期间出现无效推送端点错误

如何从 Firebase Cloud Function 在 Google Pub/Sub 中发布消息?

如何在 Google Cloud Function 上的 Spring Cloud 函数中获取 Pub/Sub 事件的元数据