3

我有兴趣使用这两种身份验证方案,但将用户模型设置为has_secure_password强制验证password_digest. 我很好奇是否有一种标准化的方式通过oauth机制以这种方式为带有omniauth-facebook的rails 3.1.x创建用户。就像将一个test值存入密码摘要或其他东西?或者可能在与 has_secure_password 一起使用时在特定条件下关闭验证(尽管我真的不知道我将如何做到这一点并且希望得到帮助)。

我看到 oauthed_user 有一个提交(https://github.com/rails/rails/blob/master/activemodel/test/models/oauthed_user.rb),但我不太确定应该如何使用它。

感谢任何信息/建议

4

1 回答 1

0

好吧,我不知道执行此操作的标准方法,但是我在我的应用程序中执行了此操作,并且效果很好

def create
  if user_is_from_omniauth?
    @user.password = SecureRandom.hex(9)
  end
  @user.save
end

现在您应该在不使用密码的情况下登录用户为此建议在您的数据库中放置一个布尔值,这样它就不会在更改密码或忘记密码时询问旧密码

于 2013-10-22T17:17:38.440 回答