如何使用API​​ Gateway进行身份验证?

时间:2019-01-03 16:31:27

标签: amazon-web-services aws-lambda aws-api-gateway

我创建了一个使用计划,并将其关联到默认阶段并创建了API密钥。

然后,我创建了指向我的Lambda函数的授权者,并将身份源设置为header,并将其命名为key

我禁用了授权捕获。

然后我转到方法请求,选择我的授权者并将所需的API密钥切换为true

我还向{em> HTTP请求标头添加了key标头。

我部署了API,与Postman通话后,我得到了两种不同的响应:

  • 标题中没有key{ "message": "Unauthorized"}
  • 标题中带有key{ "message": null}

每当我在标题中张贴key时,无论key的内容是什么,我都会得到这样的响应。显然,我使用的是先前生成的API密钥。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

AWS支持两种类型的api网关身份验证机制

  1. 使用认知用户池

  2. 使用自定义授权者

您必须使用其中之一,否则它将为示例授权程序函数返回null,您可以在github存储库中引用示例

Custom Authorizer Api Gateway