繁体   English   中英

AWS SNS 无效令牌

[英]AWS SNS Invalid Token

我正在尝试将端点作为我的网站 ( http://website.com/ ) 并在成功订阅后发布到 SNS 主题。

无论我尝试什么,我都会收到相同的无效令牌错误。 有人可以帮我吗? (经过消毒的代码)

 endPointTest()
  .then((result) => {
    console.log("Result", result);

    AWS.config.update({
      accessKeyId:'accessKeyIdvalue',
      secretAccessKey:'secretAccessKeyvalue',
      region: 'us-west-2'
    });
    var sns = new AWS.SNS();
    console.log("SNS OBj", sns); 
    var params2 = {
      Protocol: 'http', /* required */
      TopicArn: 'topic_ARN_from_console', /* required */
      Endpoint: 'http://website.com/'
    };
    sns.subscribe(params2, function(err, data) {
      if (err) console.log(err, err.code); // an error occurred, where it breaks
      else     {
        console.log("Subscribing...", data.ResponseMetadata.RequestId);//Prints this
        console.log("Subscribing... with data", data); //Prints this fine
        var params1 = {
          Token: data.ResponseMetadata.RequestId, /* required */
          TopicArn: 'topic_ARN_from_console' /* required */
          //AuthenticateOnUnsubscribe: 'false'
        };
        sns.confirmSubscription(params1, function(err, data) {
          if (err) console.log(err, err.stack); // an error occurred
          else    {
            console.log("Confirmed Sub", data);
          }          // successful response
        });
      }
    });
  }).catch(console.error.bind(console));

我得到的错误:

POST https://sns.us-west-2.amazonaws.com/ 400 (Bad Request)

VideoUploader.js:135 错误:令牌无效

我哪里错了?

SNS subscribe() 文档说返回的数据只包含一个 SubscriptionArn。 它不包含确认令牌。

我相信您正在寻找的订阅确认令牌由 SNS 发送到您在调用 subscribe() 时指定的端点。 这就是 SNS 确认您控制端点的方式。 您需要从该端点检索它,然后通过调用 confirmSubscription() 将其提供回 SNS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM