禁用密码验证

时间:2015-10-08 19:39:48

标签: ruby-on-rails ruby facebook validation omniauth

如果发现用户正在尝试使用Facebook登录,我希望在登录时不需要密码。但是,Authlogic(显然)在登录时会检查密码。在这种情况下如何禁用密码验证?

以下是我正在使用的代码的简短代码段。 login_params根据用户登录的方式而变化 - 通过表单字段或OmniAuth。

login_params = if facebook_login?
   if homeowner = get_facebook_user
       {
       email: homeowner.email,
       password: homeowner.password
       }
       end
    else
       user_session_params
       end

1 个答案:

答案 0 :(得分:1)

您可以在验证中使用lambda来有条件地运行它。例如:

验证:密码,存在:true,if:lambda {!isNotFacebookLogin? }