我对使用这两种身份验证方案感兴趣,但将用户模型设置为has_secure_password
会强制对password_digest
进行验证。我很好奇是否有一种通过oauth机制创建用户的标准方法,这种方式适用于带有omniauth-facebook的rails 3.1.x.就像将test
值存入password_digest或其他东西一样?或者在与has_secure_password一起使用时,可能会在某种情况下关闭验证(虽然我真的不知道我会怎么做并希望得到帮助)。
我看到有一个oauthed_user(https://github.com/rails/rails/blob/master/activemodel/test/models/oauthed_user.rb)的提交,但我不确定应该如何使用它。
thx任何信息/建议
答案 0 :(得分:0)
嗯,我不知道这样做的标准方式,但我在我的应用程序中做到了这一点并且完美无缺
def create
if user_is_from_omniauth?
@user.password = SecureRandom.hex(9)
end
@user.save
end
现在您应该在不使用密码的情况下登录用户 为此,建议在数据库中放置一个布尔值,以便在更改密码或忘记密码时不应要求输入旧密码