0

我正在为正在开发的 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。

4

1 回答 1

0

这种方法实际上工作得很好,数据库中的测试数据不是我想的那样..

于 2012-06-21T18:57:01.977 回答