【问题标题】:using has_secure_password and oauth (such as facebook) authentication使用 has_secure_password 和 oauth(如 facebook)认证
【发布时间】:2013-02-19 11:27:42
【问题描述】:

我有兴趣同时使用这两种身份验证方案,但将用户模型设置为 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) 有一个提交,但我不确定应该如何使用它。

感谢任何信息/建议

【问题讨论】:

  • 你找到解决方案了吗?

标签: ruby-on-rails ruby-on-rails-3.1 oauth-2.0 omniauth


【解决方案1】:

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

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

现在您应该在不使用密码的情况下登录用户 为此,建议在您的数据库中放置一个布尔值,以便在更改密码或忘记密码时不要求输入旧密码

【讨论】:

    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2011-05-03
    • 1970-01-01
    • 2019-04-13
    • 2019-02-15
    相关资源
    最近更新 更多