我正在尝试使用设备通过api登录。来自文档:
如果您使用带有API的令牌身份验证并使用可跟踪的身份验证。 一切 请求将被视为新的登录(因为没有会话 蜜蜂)。您可以通过创建前置过滤器来禁用此功能,如下所示:
before_filter :skip_trackable def skip_trackable request.env['devise.skip_trackable'] = true end
在过滤之前我应该把这个方法放在哪里? sessions_controller,users_controller?
使用此删除可跟踪进行常规网络登录/注册?
谢谢!
答案 0 :(得分:3)
您将其添加到需要身份验证的控制器。我建议为所有要扩展的API控制器创建一个基本控制器。
确保在authenticate_user之前调用skip_trackable。
class Api::BaseController < ApplicationController
before_filter :skip_trackable
before_filter :authenticate_user!
respond_to :json
def skip_trackable
request.env['devise.skip_trackable'] = true
end
end