如何保护从 AWS Amplify 接收请求的 AWS Beanstalk API?

How can I secure a AWS Beanstalk API that is receiving requests from AWS Amplify?

我已经在 AWS Elastic Beanstalk 上设置了一个 API 并在 AWS Amplify 上设置了一个前端环境,这两个已连接并且前端正在接收来自 API 调用的数据.

问题是,API 对 public 开放。我正在寻找一种将 AWS Amplify 列入白名单(或任何其他保护方式)的方法,以便只有授权用户才能通过前端进行 API 调用。

我目前正在使用 AWS Cognito 作为我的 AWS Amplify 应用程序的身份验证方法。

谢谢!

您应该使用 cognito 返回的访问令牌通过使用 JWT 设置 Authorization: Bearer <access_token> header 来保护您的 API。然后,您的后端会在处理请求之前验证 JWT 以确保它来自 cognito。此验证应由您选择的图书馆处理,https://jwt.io 有一个很好的列表。