如何将Backbone.js应用程序安全地连接到数据库?

时间:2012-09-22 09:44:55

标签: security rest backbone.js client-side restful-authentication

我开始计划一个网络应用程序,Backbone.js将非常适合客户端。我一直在计划在后端使用node,但这暂时是开放的。

我需要一种方法来保护前端应用程序与数据库的连接。我有discussions with others on Quora但我认为思考过程从核心问题中抽象得过于抽象。

我更喜欢通过RESTful端点访问数据,但我需要确保只有我的应用可以与API通信。我将完全控制应用程序的前端和后端。有可能在数据库周围构建其他应用程序(一年或两年),但是它们将由我开发(即不是公共API),并且这些应用程序可能会使用单独的OAuth端点。

关于应用程序的一些注释(可能有用也可能没用):

  • 该应用程序计划以SaaS模式提供,公司订阅并允许多个用户使用。
  • 每家公司的数据都需要是安全的,只有该公司的成员才能访问。
  • 所有流量(前端和应用程序到API)都将通过SSL发送。

非常感谢任何关于最佳方法的建议。

1 个答案:

答案 0 :(得分:1)

我们拥有与您完全相同的设置 - SaaS模式,多个应用程序(移动设备,网络等),当我关注您的链接时,Miguel拥有我们使用的确切解决方案。

带有时间戳并在auth上发送给客户端的令牌。我们将哈希令牌存储在用户模型中,然后我们验证该令牌的每个后续请求。

您可以使用BaseModel扩展Backbone.Model,该BaseModel通过重写Backbone.Sync将令牌附加到每个服务器请求

请参阅here,了解他们如何扩展基本视图,并将相同的内容应用于基本模型。