使用设计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。