这让我非常疯狂
我试图从一个角度应用程序调用api-gateway rest服务,我已经限制了API-GATEWAY和IAM访问。所以我需要使用IAM身份验证进行调用。我正在使用我已经获得的临时IAM凭证
我对服务的调用失败,说没有Access-Control-Allow-Origin标头。当我尝试从邮递员调用我的服务时,我没有在响应中看到所需的标题。在我的邮递员电话中,我获得了403状态,因为我的身份验证实际上失败了,但我仍然期待标题。如果我删除它工作的方法上的IAM身份验证,我会收到响应字符串和正在寻找的标头。
我在这里缺少什么?当然,即使我的身份验证失败,我仍然必须取回该标题,这样我才能真正看到显示您的身份验证失败的消息。
非常感谢任何帮助
由于
答案 0 :(得分:1)
来自this link on the AWS forum似乎有一个与我在这里遇到的确切内容有关的未解决问题...不确定我现在正在寻找什么
答案 1 :(得分:1)
您是否允许Cognito角色访问API端点?
您必须为Cognito角色使用与此类似的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:invoke"
],
"Resource": [
"arn:aws:execute-api:<API_REGION>:<ACCOUNT_ID>:<API_ID>/*"
]
}
}
}
如果您对端点使用IAM身份验证,并且您不允许Cognito角色访问您的API,API Gateway将生成403响应。 此响应未由您的API定义定义,因为API网关拒绝了该请求,然后才能使您的API处理完毕。 这就是您的CORS配置不适用的原因。
答案 2 :(得分:0)
请确保您