当前位置: 首页 > 知识库问答 >
问题:

使用CORS从远程webclient调用AWS API网关

宋翔
2023-03-14

我的问题是无法从位于test.mydomain.com的客户机向该API发送请求,即使在我成功地在Cognito上进行了身份验证(从而在请求头中发送了所需的令牌)之后也是如此。

我在web客户端上用于向API网关endpoint发送请求的代码:

function ajaxPost(url, data, callback) {

var req = new XMLHttpRequest();
req.open("POST", url);

req.addEventListener("load", function () {
    if (req.status >= 200 && req.status < 400) {
        callback(req.responseText);
    } else {
        console.error(req.status + " " + req.statusText + " " + url);
    }
});

req.addEventListener("error", function () {
    console.error("URL " + url + " unreachable.");
});

req.setRequestHeader("Content-Type", "application/json");
req.setRequestHeader("Authorization", data.get("id-token"));

data = JSON.stringify(data);

req.send(data);
}

我通过AWS控制台在API方法上启用了CORS,也在我的浏览器上启用了CORS,以便进行测试,因此应该允许跨域请求。

共有1个答案

蒋正平
2023-03-14

解决了!

显然,在AWS中会有一个bug,在API部署后启用/编辑CORS将无能为力。

请参见以下回复:https://stackoverflow.com/a/40733680/7717871

 类似资料:
  • 我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您

  • 使用远程调试 为了与qemu配合进行源代码级别的调试,需要先让qemu进入等待gdb调试器的接入并且还不能让qemu中的CPU执行,因此启动qemu的时候,我们需要使用参数-S –s这两个参数来做到这一点。在使用了前面提到的参数启动qemu之后,qemu中的CPU并不会马上开始执行,这时我们启动gdb,然后在gdb命令行界面下,使用下面的命令连接到qemu: (gdb) target remot

  • 我必须调用api使用生成。我将在中发送令牌。我通过网络获得了一些,但我不知道如何与API一起传递参数。有人能帮忙吗? 我需要调用docusign apihttps://account-d.docusign.com/oauth/token 此外,我需要发送和。我不知道如何收到这个。有人能举个例子吗?以下是供参考的图像。 在此处输入图像描述

  • 因此,客户机请求CPU和内存(我相信我需要两个队列),服务器用这些值进行响应。 是否可以简单地创建和,本例使用Python中的Pika库。

  • 说明 此文档只适用于 jboot v3.1.0 以上,之前的版本请参考 这里 。 目录 添加依赖 配置 开始使用 restful 暴露 高级功能 添加依赖 Jboot 支持 dubbo 和 motan,假设我们需要使用 dubbo 作为底层的 RPC 框架,需要添加如下依赖: <dependency> <groupId>org.apache.dubbo</groupId> <art

  • 我试图使用JBoss7.1.1中的JNDI从远程客户端调用,但我得到了一个异常: 我使用的是jboss的安全机制,并且我已经通过add-user.bat添加了用户,还有带有用户名和密码的jboss-ejb-client.properties文件,但仍然会得到异常。我遵循了链接的示例集:使用JNDI从远程客户端进行EJB调用,当我不使用安全机制时也是如此,但是当我使用安全机制时,就会出现错误 你错过