【问题标题】:Difference between two methods to confirm AWS SNS topic subscription confirmation确认 AWS SNS 主题订阅确认的两种方法之间的区别
【发布时间】:2019-12-29 00:28:51
【问题描述】:

我正在尝试将 SNS 主题订阅到我拥有的 HTTPS 端点。我正在阅读有关如何处理来自 SNS 的传入消息以及需要如何完成订阅确认的文档。我看到了两种确认方法:

我试图了解这两种方法之间的区别。对我来说最明显的是——选择使用 API 将需要 AWS 凭证,因为需要对请求进行签名。但似乎只使用 HTTP GET 请求就可以成功调用相同的调用?

目前的最佳实践是什么(如果有的话)和/或其他使用 AWS/SNS 的人正在遵循哪种方法?

【问题讨论】:

    标签: amazon-web-services amazon-sns


    【解决方案1】:

    在 SNS 与端点通信之前,您需要证明您控制该端点。因此,您的选择是编写一些可以自动执行此操作的代码(大多数 SDK 都支持这一点)或捕获令牌,并通过 API 调用返回它来证明您可以控制它。

    这是一个一次性的过程,因此您无需将任何 AWS 凭证部署到您的 API 终端节点 - 您可以从不同的系统执行此操作。

    我们通常将确认处理程序构建到应用程序中。

    【讨论】:

    • 我能够理解我们试图证明我们控制端点的部分,我能够建立 SNS 订阅确认,但由于存在两种不同的方法来做到这一点,我试图了解使用这两种方法有什么区别(如果有的话)?但我感谢您对此的意见,再次感谢!
    【解决方案2】:

    没有区别——这两种选择实际上是一回事。

    SubscribeURL 属性是一个预先构建的(由服务)链接到 SNS API 端点上的 ConfirmSubscription 操作。

    API 接受 GET 或 POST。在这种情况下不需要签名。

    仅当AuthenticateOnUnsubscribe 标志设置为“true”时,此调用才需要 AWS 签名。

    https://docs.aws.amazon.com/sns/latest/api/API_ConfirmSubscription.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-03
      • 2017-12-22
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 2017-04-20
      相关资源
      最近更新 更多