如何将适用于Google API的AWS Lambda函数列入白名单

时间:2018-07-07 00:59:32

标签: node.js amazon-web-services google-api aws-lambda google-calendar-api

我正在构建一个AWS Lambda函数,该函数使用Node.js从Google Calendar API中提取信息。然后,Node应用程序将html响应发送给第三方应用程序。我基本上遵循this guide from google,但我将html发送到其他地方进行渲染。我不断遇到错误,Google告诉我我没有将来自Lambda的javascript来源列入白名单。这是错误文本:

{error: "idpiframe_initialization_failed", details: ""Not a valid origin for the client: https://<Lambda URL>.execute-api.us-west-2.amazonaws.com has not been whitelisted for client ID <My_Google_API_Client_Id>.apps.googleusercontent.com. Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID."}

我进入了Google API开发者控制台,并将该URL列入了白名单,但是仍然出现该错误。 Here's a screenshot.

我也曾尝试将“ us-west-2.amazonaws.com”列入白名单,但没有运气。谢谢!

1 个答案:

答案 0 :(得分:2)

您需要将Lambda的IP地址列入白名单,而不能根据域名将其列入白名单。您可以在此处查看IP地址的当前列表:https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html

您注意到您的请求来自us-west-2,因此您可以仅通过查找与该区域匹配的条目将该IP列入白名单。根据我的计算,这是122个很大的工作!

否则,您可以考虑在VPC内设置NAT,并针对该IP使用IP将该唯一IP列入白名单?