Я новичок в Google OAuth, поэтому я не слишком знаком с соглашением об аутентификации OAuth. Допустим, пользователь создает учетную запись с some@gmail.com
традиционным способом (не связанным с аутентификацией Google). Давайте назовем эту учетную запись A. Когда тот же пользователь входит в систему с помощью Google OAuth, который использует тот же адрес электронной почты some@gmail.com
, должен ли пользователь войти в ту же учетную запись A? Это означает, что пользователь сможет видеть в своем профиле одни и те же вещи, в том числе историю покупок, настройки уведомлений и т. Д. c.
. Если да, то каково соглашение о слиянии информации пользователя? Вход в систему с помощью Google предоставляет свои given_name
, family_name
и photoUrl
. И создание учетной записи, традиционно с электронной почтой и паролем, будет иметь собственную регистрацию имени и фотографию профиля.
Если нет, то в качестве UID вы используете то, что электронная почта обычно является общим полем, используемым в качестве UID. Вы можете создать отдельную пользовательскую базу данных, одну для традиционного входа в систему и одну для Google OAuth, но это кажется крайне неэффективным, зная, что вам придется искать обе базы данных каждый раз, когда, скажем, создается сообщение, чтобы связать его.
Или вы просто отклоняете как дубликат, когда пользователь пытается создать или войти в систему, когда тот же адрес электронной почты уже существует?