我正在尝试在我的 rails 应用程序中使用 Warden 进行身份验证。如果我通过 POST 请求以常规形式使用它,它工作正常。但是当我将它移到 Backbone.js 时,我发现验证了!方法总是调用我的失败应用程序。
我在身份验证中放置了一些日志记录!方法,发现params hash为空。像那样:
def authenticate!
Rails.logger.debug "Parameters inside of Warden: #{params}"
user = User.find_by_email(params['email'])
if user && user.authenticate(params['password'])
success! user
else
fail "Invalid email #{request.params['email']} or password #{request.params['password']}!"
end
end
它生成一个空输出: Warden 内部的参数:{}
同时我可以在 env['warden'].authenticate 之前看到控制器中的参数!叫做。我只能猜测我的参数去了哪里。我究竟做错了什么?