【问题标题】:AWS Missing Authentication TokenAWS 缺少身份验证令牌
【发布时间】:2017-06-28 02:34:02
【问题描述】:

我正在关注 this tutorial 使用 Node.js SDK 将 Raspberry Pi 连接到 AWS IoT。我在vim ~/.aws/credentials看到以下内容

[default]
aws_access_key_id = SOMETHING
aws_secret_access_key = SOMETHINGELSE

当我输入命令aws iot describe-endpoint 时,我得到以下响应:

{
    "endpointAddress": "A34SXNTM6AT7XH.iot.us-west-2.amazonaws.com"
}

但是,当我浏览到该 URL 时:https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com/ 我收到以下错误:

Missing Authentication Token

知道可能出了什么问题以及如何解决吗?

这是~/certs 文件夹中的文件:

pi@raspberrypi:~/certs $ ls
certificate.pem.crt  private.pem.key  public.pem.key  root-CA.pem

【问题讨论】:

    标签: rest authentication amazon-web-services aws-cli aws-iot


    【解决方案1】:

    莫娜,

    您的自定义端点响应两种协议:MQTT 和 HTTPS。但是,它不提供任何 Web 内容,因此不能在浏览器中用作站点 URL。您从 aws iot describe-endpoint 获得的“endpointAddress”将插入到您在链接的 Raspberry Pi 示例中使用的 Node.js 设备 SDK(没有 https://)。

    您还可以通过使用 AWS 签名版本 4 对请求进行签名来使用端点的 HTTPS 版本与设备影子交互。更多信息请点击此处:http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-rest-api.html 和此处:http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html 尽管您可能会通过使用AWS CLI 或 AWS SDK 来执行这样的操作。

    瑞安@AWS

    【讨论】:

    • 很高兴看到票可以直接从 AWS 工作人员处接听。
    • 嗨瑞恩,这是否意味着考虑到我已经成功完成了教程中的所有步骤,这个“缺少身份验证令牌”应该被忽略吗?
    • 在文件 cmdline.js 中它是否知道默认查看 ~/certsdefault: { region: 'us-west-2', protocol: 'mqtts', clientId: clientIdDefault, privateKey: 'private.pem.key', clientCert: 'certificate.pem.crt', caCert: 'root-CA.crt',
    • @Ryan:关于我的第二个问题,根据docs.aws.amazon.com/iot/latest/developerguide/iot-dg.pdf 示例的第117 页假设证书在~/certs 目录中,所以我是正确的!
    • 另外你可以看看这里stackoverflow.com/questions/35834075/…
    【解决方案2】:

    默认情况下,示例程序将在当前目录中查找您的证书和私钥文件,但如果您愿意,也可以使用“-f”选项指定另一个目录。至于您在尝试从浏览器访问端点时注意到的“缺少身份验证令牌”消息,您可以放心地忽略它。

    【讨论】:

      【解决方案3】:

      如果您使用“TLS 双向身份验证”,则需要连接端口 8443,因此在您的示例中,它将是 https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com:8443/things/<thing_name>/shadow

      【讨论】:

        猜你喜欢
        • 2020-08-27
        • 1970-01-01
        • 2019-03-25
        • 2020-09-18
        • 2021-08-28
        • 1970-01-01
        • 2018-09-27
        • 2018-08-03
        • 2017-02-24
        相关资源
        最近更新 更多