【问题标题】:AWS IoT websocket connection returns a 403AWS IoT websocket 连接返回 403
【发布时间】:2017-03-26 03:56:26
【问题描述】:

尝试通过 Websocket 连接到 AWS IoT 时,我不断收到 403。我有一个 Cognito 联合池设置,可以很好地连接并返回凭据。在我更新 websocket 凭据之后,我开始收到 403。

我已经完成了以下步骤:

  1. 我已设置 IoT,并设置了证书和策略。
  2. 我创建了一个允许未经身份验证的用户的 Cognito 联合身份池。
  3. 未经身份验证的角色可以完全访问 IoT(以下策略)

这是未经身份验证的角色政策:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "mobileanalytics:PutEvents",
            "cognito-sync:*",
            "iot:*"
        ],
        "Resource": [
            "*"
        ]
    }
]
}

有什么想法吗?我错过了一步吗?

【问题讨论】:

  • 你是如何连接 WebSockets 的? AWS IoT 设备开发工具包?手工制作 SigV4 请求?这里有一个示例 AWS IoT over WS via Device SDK (feat. Cognito) 项目:github.com/awslabs/aws-iot-examples/pull/2

标签: javascript amazon-web-services iot amazon-cognito


【解决方案1】:

我知道这有点老了,但我们今天遇到了同样的问题,但它似乎只发生在一个公司的用户身上。因此,经过一番挖掘,我发现他们的计算机时间减少了大约 8 分钟。这导致证书过期或无效。只需将计算机时间更改为正确的时间,或者我们确实从服务器和本地计算机获得了正确时间的差异,并在发送请求时解决了问题。

【讨论】:

  • 您节省了五月天!我在没有 NTP 客户端的设备中遇到了连接问题,这个问题让我抓狂。
猜你喜欢
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 2015-11-17
相关资源
最近更新 更多