在我的应用程序中,用户可以使用本教程中的代码登录 Facebook 。唯一的问题是我想允许以老式方式注册我的应用程序的用户(如用户进入注册页面并输入他们的所有数据,如电子邮件、密码等,而不是使用 Facebook 登录。)能够将他们的 Facebook 帐户与他们现有的帐户相关联。我还没有看到任何关于这个的问题,我想知道我应该如何实现这个。
Omniauthcallbacks 控制器
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
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
end