使用设计API进行自定义身份validation

所以我在这里有一个小巧的组合

Company has many Users User belongs to Company 

用户通过设计进行身份validation管理

 class User < ActiveRecord::Base belongs_to :company devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable 

您可以以用户身份登录并创建所有属于公司的对象,而不是用户,例如: Text 。 ( company.texts

现在我使用acts_as_api gem创建了一个简单的API。 对于这个我只需要修改我的文本控制器,fe show动作。

 class TextsController  @text } end 

这在网站上运行得很好。 问题是API。 我不想通过用户模型访问api时进行身份validation。 该公司确实有一个名为:hash的属性,我希望在API中使用Auth。

我不知道如何使用设计(或任何其他方法)来实现这一点。 所以默认情况下,设计希望用户登录,因为我的控制器中有load_and_authorize_resource ,这对于html响应是好的,但对于json响应则没有。

有任何想法吗?

谢谢你读这个。 如果不清楚,请发表评论!

只需使用Token Authenticatable,并在API上发送每个请求的令牌。

这是一个教程。

有条件地根据可接受的格式标题应用authfilter:

 # override in controllers related ot API def authenticate_user! respond_to do |format| format.html { super } # just like before format.json { enforce_api_auth } end end 

现在API调用强制执行自己的身份validation。