0

我开发了网络和移动跨平台应用。REST API的安全与跨平台应用(AWS云/服务)

Web部件是从的Node.js/Express应用程序提供服务,并具有基于passport.js用户认证,使用本地注册,Facebook和谷歌AUTH。它部分使用Jade进行服务器端渲染,但即使使用Angular来从API请求动态内容。

移动客户端与Ionic2 /(Angular2)开发,并通过调用Node.js的服务器,与护照JWT战略authentificates用户。

两个客户端,Web和移动正在使用REST API建立与AWS API Gateaway和多LAMBDA微服务的背后,使用DynamoDB,Elaticsearch等

其实我与API安全挣扎。需要用户认证/成员身份的端点可以使用现有的认证策略由JWT令牌处理。但是,大约90%的API服务于不需要验证的数据。

这些都是向世界开放,现在,因为我没有找到保护他们一个很好的策略。我的目标是确保只有移动和网络应用的用户才能访问这些端点。

我怎么会存档?如果有人能给我一个关于最佳方法的暗示,那将是非常棒的。

谢谢!

+0

您可以在API网关中使用自定义授权人来验证jwt令牌。任何理由不使用它? – Ashan

+0

是的,这就是我实际上对需要身份验证的端点所做的事情,因为只有经过身份验证的用户才拥有令牌。问题在于Apis为任何未经过认证的用户提供一般数据。 – Stefan

回答

0

虽然你说不需要这些服务的认证,它看起来像你对我真的需要验证。由于您要求提供请求者的身份证明,即使该身份是“只有移动和Web应用程序的用户才可以访问”的要求,因此您正在谈论身份验证。所以你可能只是想为这些端点使用JWT。

您也可能想授权您的用户,因为在决定应该允许哪些具体身份的情况下。这样,您可以让所有通过身份验证的用户访问所有端点,但只有那些显示会员证明(在JWT中)的用户才能访问受保护的端点。