我在某个网址上有一个API网关 endpoints ,如下所示:
https://api.myapp.com/myendpoint
将要访问此 endpoints 的人员和/或服务需要将特定参数和值传递给 endpoints . 像这样:
https://api.myapp.com/myendpoint?token=123456
如果 token
参数丢失或 token
值不是特定的预定值,是否可以限制对 endpoints 的访问?我可以设置我的 endpoints 来简单地忽略没有正确令牌的呼叫吗?
我打算使用Lambda作为后端 . 我是否必须在Lambda函数中处理这个问题?最终,我试图通过随机个人对 endpoints 进行虚假调用来避免不必要的Lambda和API网关使用成本 . 因此,如果我可以拥有API网关,只需忽略这些调用,而无需启动理想的Lambda .
如果我能够让API网关忽略这些调用,当对丢失令牌的 endpoints 进行伪造调用时,是否还会收取使用费用?
我问的原因是因为要访问此 endpoints 的第三方服务没有任何选项可以在标头中传递身份验证参数或使用AWS Cognito等 . 所以我只是想一个简单的方法来限制访问 .
1 回答
您需要在Lambda中执行此验证 .
如果您有一个查询参数
token
到集成 endpoints 的映射,那么对于像...?token=123
API这样的请求,Gateway会将参数传递给 endpoints ,但是对于...?token=
,API Gateway不会 .API网关不会像您想要的那样对查询参数进行验证,您将需要为这些请求付费 .