Ruby on Rails - 解析Ruby客户端Gem - 如何处理失败的用户身份验证

时间:2014-07-08 18:44:21

标签: ruby-on-rails ruby parse-platform

我使用parse-ruby-client gem来创建适用于我的Parse数据库的应用程序的Web版本。我希望用户登录,但目前如果身份验证失败,我收到错误:

Parse::ParseProtocolError in UsersController#authenticate
101: invalid login parameters

这是我尝试过的,但是if语句并没有这样做:

user = Parse::User.authenticate(params[:username], params[:password])

if user
  # Save new session, redirect, etc.
else
  # redirect back to login form and try again
end

如果登录参数与现有用户不匹配,则应用程序崩溃。如何验证authenticate方法返回的内容?

1 个答案:

答案 0 :(得分:2)

根据给出的信息,您使用的解析客户端在无法进行身份验证时会抛出错误。因此解决方案是捕获错误。

def authenticate
  user = Parse::User.authenticate(params[:username], params[:password])
  # Save new session, redirect, etc.
rescue Parse::ParseProtocolError
  # redirect back to login form and try again
end