Ruby on rails RubyonRails:将Facebook登录添加到现有Authlogic登录
我有一个现有的网站,是与Authlogic登录工作良好 我正在尝试使用authlogic\u Facebook\u connect插件将Facebook登录添加为一个选项,但它无法正常工作 我遵循此处的说明: 在我的注册表单上,我使用概述的过程添加了Facebook connect按钮,当单击该按钮时,它将使用用户的Authentity_令牌成功地发布到表单中,我相信这是预期的结果。控制器代码非常简单:Ruby on rails RubyonRails:将Facebook登录添加到现有Authlogic登录,ruby-on-rails,facebook,authlogic,Ruby On Rails,Facebook,Authlogic,我有一个现有的网站,是与Authlogic登录工作良好 我正在尝试使用authlogic\u Facebook\u connect插件将Facebook登录添加为一个选项,但它无法正常工作 我遵循此处的说明: 在我的注册表单上,我使用概述的过程添加了Facebook connect按钮,当单击该按钮时,它将使用用户的Authentity_令牌成功地发布到表单中,我相信这是预期的结果。控制器代码非常简单: @new_user = User.new(params[:user]) @new_user
@new_user = User.new(params[:user])
@new_user.save
在我的用户模型中,我添加了以下before_connect方法,该方法从未被调用:
def before_connect(facebook_session)
self.email = facebook_session.user.email
reset_persistence_token
end
我知道这不会被调用,因为即使我在连接之前添加了一行,比如raise“Error”
,也不会发生错误
由于authlogic自身的许多内部验证,实际保存失败。我得到:
- 电子邮件太短(至少6个字符)
- 电子邮件应该看起来像电子邮件地址
- 密码太短(最少4个字符)
- 密码确认太短(最少4个字符)
我做错了什么?我不确定这是不是正确的方法,但最终通过AuthLogic禁用所有有问题的验证,并在我的应用程序中自己重新编码,实现了这一点 这是我在用户模型中包含的代码:
acts_as_authentic do |c|
c.validate_login_field = false
c.validate_email_field = false
c.validate_password_field = false
end