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

问题描述 投票:0回答:1

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

现在,我正在一个私人项目,该项目将被许多人使用。 我想防止没有SPA的情况下滥用我的API。 有没有办法使脚本小子更难滥用API?

回到我的时代:DI曾经使用简单的密钥在很低的级别上加密数据。 但是,使用最新的fe chrome开发工具,您可以轻松调试SPA中的任何内容,以及如何对数据进行加密/解密。 我在这里没有选择。

我对保护连接不感兴趣,因为SSL对我来说足够好。 用户密码安全性也足够安全(现代框架在这里可以很好地工作)。 我只是不了解,如何在没有我的SPA的情况下更难使用API​​。 我正在开发这两个方面,因此我可以随心所欲地制作API-您有技巧,最佳实践和想法吗?


脚注:

  • SPA =单页应用程序(如VueJS,Angular,Ember等)
  • ORM =对象关系映射(如VueX,ember-data等)
api security single-page-application
1个回答
0
投票

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

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

  • 通过oAuth将身份验证转移给其他人(这是对服务的滥用,应该使用OpenID,但通常使用oAuth)
  • 在您的SPA中有一个登录表单,该表单将对您的API进行身份验证(依次提供身份验证令牌)

执行此操作的一种非常糟糕的方法(在您的注释之后)是使调用变得模糊,希望没人能发现您在JS代码和API之间共享的秘密。

© www.soinside.com 2019 - 2024. All rights reserved.