【问题标题】:Rails API Authentication From Multiple Devices来自多个设备的 Rails API 身份验证
【发布时间】: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


    【解决方案1】:

    你是对的,令牌本身不应该包含任何“组织”部分 - 它是不安全的,以及以你建议的方式添加子域。

    您可以将组织字段添加到令牌对象(或表 - 取决于您如何跟踪令牌)。收到令牌后,您就可以获得组织。

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      相关资源
      最近更新 更多