Войти через Facebook В приложении rails без драгоценного камня в приложении rails - PullRequest
0 голосов
/ 21 сентября 2018

Я хочу создать логин на Facebook без использования драгоценного камня.С помощью facebook-SDK я получаю autoResponse: accessToken and userID.Теперь мне нужно зарегистрироваться в моем приложении rails после события FB.Login.

Подскажите, пожалуйста, как этого добиться?

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Вы можете создать таблицу с именем 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 (Зарегистрироваться).

Шаги, которые вам придется сделать.

  1. Нажмите Login with Facebook.
  2. Введите FB email и password.
  3. При успешной проверке в rails проверьте, есть ли пользователь с этим emailсуществует, если он не существует, create user и использует дополнительную информацию, которую вы получили в ответе, чтобы зарегистрировать пользователя и log его в application.
  4. В следующий раз, существующийпользователь нажимает Login with Facebook, вводит свои email и password, проверяет, существует ли пользователь в БД, поэтому он входит в приложение напрямую.
  5. Регистрация происходит только в первый разон пытается Login, используя Facebook.
0 голосов
/ 21 сентября 2018

Создайте таблицу для хранения деталей, которые вы получаете с Facebook.При успешном входе в Facebook сохраните их в этой таблице, а затем создайте пользователя, используя эти данные, и сохраните ассоциацию, например

facebook_details belongs to user
user has many facebook_details

. Используя эти ассоциации, создайте пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...