Вы можете создать таблицу с именем 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
. - Введите FB
email
и password
. - При успешной проверке в
rails
проверьте, есть ли пользователь с этим email
существует, если он не существует, create
user
и использует дополнительную информацию, которую вы получили в ответе, чтобы зарегистрировать пользователя и log
его в application
. - В следующий раз, существующийпользователь нажимает
Login with Facebook
, вводит свои email
и password
, проверяет, существует ли пользователь в БД, поэтому он входит в приложение напрямую. - Регистрация происходит только в первый разон пытается
Login
, используя Facebook
.