У меня есть таблица пользователей, которая выглядит примерно так:Проектирование баз данных для OAuth2
В настоящее время мой адрес электронной почты настроен на уникальный. И когда пользователь пытается войти в систему, я проверяю адрес электронной почты и пароль, и если он совпадает, я посылаю токен. Но теперь я хочу включить логин, используя поставщиков oauth (G +, Facebook, github и т. Д.). Чтобы достичь этого, я решил использовать плагину Laravel. В документации, он говорит:
Retrieving User Details
Once you have a user instance, you can grab a few more details about the user:
$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
// OAuth One Providers
$token = $user->token;
$tokenSecret = $user->tokenSecret;
// All Providers
$user->getId();
$user->getNickname();
$user->getName();
$user->getEmail();
$user->getAvatar();
Мой вопрос, когда OAuth успешно, как я сохранить детали в базе данных. Какие изменения следует внести в таблицу.
добавить еще одну таблицу, которая подключается к пользователю с именем «социальных провайдеров» содержит Google, FB, Twitter , столбцы github и какой узел. auth всегда возвращает идентификатор, и это то, что вы будете использовать для идентификации пользователя. – PauAI
Если я это сделаю, поле пароля моей таблицы пользователей должно быть оставлено пустым. Я не знаю, как обращаться с этим –
thats ok, просто сделайте «подтверждающую страницу» после того, как они войдут/авторизуются, требуя необходимой информации, такой как пароли, имя пользователя и адрес электронной почты. а затем обновить базу данных после этого, это из соображений безопасности я прав? И это хорошо, чтобы консолидировать предыдущие авторизации третьей стороны для той же учетной записи. – PauAI