我在我的应用程序上使用Devise Invitable,并Omniauth
允许用户使用 Facebook 登录。
我唯一遇到的问题是,当用户选择使用“接受邀请”页面中的链接使用 Facebook 登录时,他们会被重定向到“新用户注册”页面,其中已经填写了一些详细信息。问题出在 Devise Invitable 在发送邀请时会创建一个新用户,用户无法使用发送邀请时提供的电子邮件登录。
Omniauth Callbacks Controller
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.persisted?
flash.notice = "Signed in!"
sign_in_and_redirect user
else
session["devise.user_attributes"] = user.attributes
redirect_to new_user_registration_url
end
end
alias_method :facebook, :all