【发布时间】:2017-08-04 10:08:10
【问题描述】:
我为网络和移动设备开发了一个跨平台应用程序。
Web 部件由 node.js/express 应用程序提供,并具有基于 passport.js 的用户身份验证,使用本地注册、facebook 和 google 身份验证。它部分是使用 Jade 渲染的服务器端,但甚至使用 Angular 来处理从 API 请求的动态内容。
移动客户端使用Ionic2/(Angular2)开发,通过调用node.js服务器对用户进行身份验证,采用护照JWT策略。
Web 和移动客户端都使用 REST API 设置,AWS API Gateaway 和背后的多个 Lambda 微服务,使用 DynamoDB、Elaticsearch 等。
实际上,我正在努力解决 API 安全问题。需要用户身份验证/成员资格的端点可以通过 JWT 令牌使用现有的身份验证策略来处理。但是大约 90% 的 API 提供不需要身份验证的数据。
这些现在对世界开放,因为我没有找到保护它们的好策略。我的目标是确保只有移动和网络应用的用户才能访问这些端点。
我怎样才能存档呢?如果有人能给我关于最佳方法的提示,那就太好了。
谢谢!
【问题讨论】:
-
您可以在 API Gateway 中使用自定义授权方来验证 jwt 令牌。有什么理由不使用它?
-
是的,这就是我对需要身份验证的端点所做的实际操作,因为只有经过身份验证的用户才有令牌。问题在于为任何未经身份验证的用户提供一般数据的 API。
标签: node.js amazon-web-services ionic2 aws-lambda aws-api-gateway