我正在为正在开发的 Web 应用程序构建 API,并且我尝试用于 API 身份验证/登录的以下代码在授权时返回 false。
在我的 API 用户控制器中,我有:
def login
if params[:user]
# Find the user by email first
@user = User.where(email: params[:user][:email]).first
if !@user
respond_with nil
else
@auth = @user.authenticate(params[:user][:password])
if @auth
respond_with @user
else
respond_with @auth
end
end
end
end
即使提供了有效的电子邮件和密码,它总是以 @auth 响应,这是错误的。从我的 Mongo 数据库中提取用户信息没有问题。
我想我只是不清楚 .authenticate 的作用。根据我观看的 railscast.com 视频,它应该将用户密码摘要与输入的密码进行比较。当为用户提供有效密码时,@auth 始终为 false。