Вход в Facebook против обычного входа в систему, проблема со схемой монго

Я использую mongo db для хранения пользовательских данных и их паролей. У меня есть два способа создать учетную запись:

  1. Регулярная регистрация, когда пользователь выбирает username и password и
  2. Зарегистрируйтесь, используя вход facebook.

Теперь, когда у меня есть обычная регистрация, password и username должны потребоваться, но при использовании входа в систему facebook их нет, поэтому мне интересно, как мне теперь разработать схему для модели users, чтобы включить оба случая?

Самый очевидный способ - это две разные модели: users_facebook и users_regular, но правильно ли это? Почему или почему нет? Это также может быть users_auth (данные аутентификации только для пользователей, которые зарегистрировались вручную) и users_data (данные обоих типов пользователей). Также есть что-то вроде MongoDB Facebook Stitch, которое, кажется, каким-то образом используется для этой цели, хотя я не понимаю, что это такое. Я новичок в базах данных и не уверен, что мне нужно. Проблема кажется довольно тривиальной.

Я бы посоветовал вам разрешить пользователям facebook вернуться на страницу регистрации и ввести пароль. Использование стороннего api для хранения информации о пользователе - не лучшая идея. Вы можете извлечь письмо из fb api. Таким образом, если вы решите добавить еще один API аутентификации, вы сможете это сделать с легкостью.

astroanu 16.01.2019 09:14

Но тогда нет смысла использовать логин в фейсбуке

Nikita Vlasenko 16.01.2019 22:05

Я понимаю, если вы ориентируетесь только на пользователей facebook, тогда зачем вам использовать регулярную регистрацию? Я имею в виду, что приложение не должно сильно полагаться на сторонние службы, особенно в случае аутентификации. Если у facebook был сбой сервера в течение длительного периода времени, или по какой-то причине ваше приложение facebook не работает, или было заблокировано, ваши пользователи никогда не смогут войти в ваше приложение. Возможно, вы реализуете очень плохой путь пользователя.

astroanu 17.01.2019 06:29

В настоящее время это обычная практика: разрешить пользователю либо войти в систему через facebook, либо разрешить регулярную регистрацию. Не у всех есть фейсбук, поэтому я не могу полагаться только на него. С другой стороны, некоторые пользователи, у которых есть учетная запись Facebook, смогут зарегистрироваться очень быстро: это хорошо, потому что многие пользователи просто отвлекаются от использования службы, требующей заполнения полей.

Nikita Vlasenko 17.01.2019 22:31

Я понимаю, насколько легко пользователям войти в систему с помощью кнопок социальных сетей. Но все же вы также должны отдавать приоритет регулярной регистрации. Для процесса входа в социальную сеть позволяет пользователю вводить пароль, остальные поля формы могут быть автоматически заполнены с помощью API социальной сети.

astroanu 18.01.2019 12:51
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
5
49
0

Другие вопросы по теме