我想在不使用gem的情况下使用facebook创建登录名。通过使用facebook-sdk,我得到了autoResponse: accessToken and userID
。现在,我需要在成功事件FB.Login之后在rails应用程序中注册。
请建议如何实现?
谢谢
答案 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
假设使用twitter
或google
登录,则可以使用type
列,而所有其他信息都可以存储在social_logins
表中。
class User < Activerecord::Base
has_many :social_logins
end
class SocialLogin < Activerecord::Base
belongs_to :user
end
确保social_logins
表包含type
列以及其他列,例如authToken
,user_id
以及您想要与social_login相关的其他任何信息。您还可以使用其他数据,例如first_name
,last_name
等,并创建一个User
(注册)。
您必须执行的步骤。
Login with Facebook
。email
和password
。rails
中检查拥有该email
的用户是否存在,如果不存在,请create
user
并使用您获得的其他信息登录用户并log
进入application
的响应。Login with Facebook
,输入其email
和password
,检查该用户是否存在于数据库中(是否存在),因此直接将其登录到应用程序中。Login
来Facebook
时进行注册。