6

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

我需要一种方法来保护前端应用程序与数据库的连接。我在 Quora 上与其他人进行过讨论,但我认为思考过程过于抽象于核心问题。

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

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

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

任何有关执行此操作的最佳方法的建议将不胜感激。

4

1 回答 1

1

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

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

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

请参阅此处了解他们如何扩展基本视图,您可以将相同的东西应用于基本模型。

于 2012-09-22T14:25:45.343 回答