【发布时间】:2015-04-21 02:32:40
【问题描述】:
我有一个可供多个组织访问的宁静 API。他们的数据将永远是分开的。我正在使用 rails 4.0、emberjs 和 phonegap。在任何时间点都会有多个设备访问单个组织的 API。
我的问题是如何在考虑到这些多个组织和设备的情况下正确设计我的 API。
当前解决方案:
用户必须使用组织名称和密码进行身份验证。这是通过具有基本身份验证的 HTTPS 完成的。之后,用户将获得一个用于 ember 存储并用于每个后续请求的令牌。由于有多个设备,因此可以将多个 API 令牌与一个组织相关联。 Rails 使用令牌来获取每个请求的组织 ID,因此 url /members 仅输出与令牌下面的组织相关的成员。对此有何想法?
要求每个 RESTful 资源都以 organization/id/resource 开始,这对我来说似乎不安全且不实用,这就是我选择当前解决方案的原因。
更好的方法?
有什么更好的方法来做到这一点?我是否应该给每个组织一个子域并将其与令牌一起传回并仅将令牌用于安全性和子域用于识别组织?还是我应该坚持使用组织/ID/资源?
【问题讨论】:
标签: ruby-on-rails api rest cordova ember.js