如果发现用户正在尝试使用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
答案 0 :(得分:1)
您可以在验证中使用lambda来有条件地运行它。例如:
验证:密码,存在:true,if:lambda {!isNotFacebookLogin? }