未发送AngularJS和AWS API网关API密钥

时间:2017-08-23 17:31:56

标签: angularjs amazon-web-services cors aws-api-gateway

我一直在努力从我的Angular / Ionic 1应用程序调用我的AWS API。

我有一个API代理设置,我已经创建了一个API密钥。我在AWS中配置了CORS,一切都在postman中工作正常,但是当我从Angular App发出请求时,我得到403 {“message”:“Forbidden”}。

这是我用来拨打电话的代码:

  getTodaysLiveGames:  function () {
    return $http({
        url: 'https://**************.execute-api.us-east-1.amazonaws.com/prod/livescores',
        headers: { 'x-api-key': '**************************************' },
        method: 'GET'
    }).then(function(result){
      ...
    }).catch(function(err){
      ...
    });
  },

在我的AWS日志中,我得到以下内容:

  

未授权API密钥,因为方法'OPTIONS / livescores'要求API密钥和API密钥与API阶段的使用计划无关******* / prod:API密钥是必需的但不存在

我无法理解问题所在。我在AWS中设置了一个API密钥,并将其附加到使用计划中,并且我已将其全部正确地发布到舞台上。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

确保' X-Api-Key'是 / livescores >中Access-Control-Allow-Headers响应标头的映射值的一部分选项> 整合响应> 标头映射