使用Facebook登录Rails应用程序中没有gem

时间:2018-09-21 05:07:24

标签: ruby-on-rails ruby ruby-on-rails-3

我想在不使用gem的情况下使用facebook创建登录名。通过使用facebook-sdk,我得到了autoResponse: accessToken and userID。现在,我需要在成功事件FB.Login之后在rails应用程序中注册。

请建议如何实现?

谢谢

2 个答案:

答案 0 :(得分:0)

创建一个表来存储您从Facebook获得的详细信息。在Facebook成功登录后,将其保存到该表,然后使用这些详细信息创建用户,并保持

之类的关联
facebook_details belongs to user
user has many facebook_details

使用这些关联创建用户

答案 1 :(得分:0)

您可以创建一个名为social_logins的表,并假设您有users表,则可以与它们建立has_many关联,例如user has_many social_logins,并且在social_logins表中,您可能会有一个type列,如果您想实现,它将在不久的将来存储facebook假设使用twittergoogle登录,则可以使用type列,而所有其他信息都可以存储在social_logins表中。

class User < Activerecord::Base
  has_many :social_logins
end

class SocialLogin < Activerecord::Base
  belongs_to :user
end

确保social_logins表包含type列以及其他列,例如authTokenuser_id以及您想要与social_login相关的其他任何信息。您还可以使用其他数据,例如first_namelast_name等,并创建一个User(注册)。

您必须执行的步骤。

  1. 点击Login with Facebook
  2. 输入FB emailpassword
  3. 成功检查后,在rails中检查拥有该email的用户是否存在,如果不存在,请create user并使用您获得的其他信息登录用户并log进入application的响应。
  4. 下一次,现有用户单击Login with Facebook,输入其emailpassword,检查该用户是否存在于数据库中(是否存在),因此直接将其登录到应用程序中。
  5. li>
  6. 仅在他第一次尝试使用LoginFacebook时进行注册。