如何保护API后端和SPA前端之间的通信

时间:2017-12-05 07:18:54

标签: api security single-page-application

我在SPA *上工作很多。因此,我使用基于API的后端来获取SPA-ORM *的实体数据。这很简单,工作正常。

现在我正在开发一个将被许多人使用的私人项目。我希望在没有SPA的情况下防止我的API的误用。 有没有办法让脚本小子滥用API有点困难?

回到我的时代:D我曾经使用简单的密钥来加密非常低级别的数据。但是使用f.e.的当前开发工具。 chrome可以轻松调试SPA中的任何内容以及数据如何被加密/升级。我只是出于选择。

我对确保连接不感兴趣,因为SSL对我来说已经足够了。用户密码安全性也足够安全(现代框架在这里做得很好)。我只是缺乏知识,如何在没有SPA的情况下更难使用API​​。 我正在开发两端,所以我能够制作任何我喜欢的API - 你有提示,最佳实践,想法吗?

脚注:

  • SPA =单页应用程序(如VueJS,Angular,Ember等)
  • ORM =对象关系映射(如VueX,ember-data等)

1 个答案:

答案 0 :(得分:0)

您只需要验证通话即可。您的应用程序(或其他任何)连接到API将需要提供身份验证令牌。

有多种方法可以做到这一点,例如

  • 通过oAuth将身份验证卸载给其他人(这是对服务的误用,应该使用OpenID,但oAuth使用很常见)
  • 在您的SPA中有一个登录表单,该表单将对您的API进行身份验证(这反过来会提供身份验证令牌)

一个非常糟糕的方法(在你的评论之后)是模糊调用,希望没有人会发现你在JS代码和API之间共享的秘密。