使用Omniauth(Rails + Devise)创建帐户后设置密码

Eng*_*gan 8 devise omniauth ruby-on-rails-3

如何让用户在通过Omniauth创建帐户后设置密码?Omniauth在注册期间创建存根密码,但用户不知道该密码是什么,因此无法从编辑用户页面更改密码.

我尝试使用以下说明覆盖编辑表单:如何:允许用户编辑其帐户而不提供密码.我能够在数据库中更改加密密码,但无法使用新密码登录,奇怪的是,在登录失败期间我没有看到控制台中的任何错误.

有任何想法吗?

我正在使用Rails 3.0.7和Devise 1.4.8.我的登录/注册代码基于标准的Omniauth + Devise教程.

Aym*_*byk 0

Omniauth 仅向您提供有关远程用户的信息,并保证该用户已连接到提供商。然后您有三个选择:

  • 使用该信息创建一个用户,并设置未使用默认方法指定的字段(这就是您对密码所做的操作)
  • 使用该信息预先填写设计注册表单(如教程中所述的 self.new_with_session )并让用户自己创建帐户,填写缺少的字段(例如密码)
  • 将omniauth 信息存储在会话(或cookie)中,将您的用户重定向到缺少字段的表单,并使用表单信息和会话信息来创建新用户。