我有一个运行其API的Web应用程序都在AWS API Gateway之后。它目前使用Cognito令牌进行身份验证。
现在我希望用户能够设置API密钥对(id和secret),以便他们可以通过编程方式进行身份验证和访问帐户的替代方法,类似于此(https://support.binance.com/hc/en-us/articles/360002502072-How-to-create-API)。
我知道一些解决方案(非最佳IMO,如果我错了请纠正我):
使用API网关实现这样的(https://support.binance.com/hc/en-us/articles/360002502072-How-to-create-API)的最佳方法是什么?
我建议实现一个基于请求的Lambda授权器[1]。看看你的例子,你似乎也希望强制执行一些自定义的安全策略(即基于IP地址的检查,启用特定的API)。
[1]请参阅https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html中名为“创建REQUEST类型的Lambda授权器的Lambda函数”一节