Созданы ли уникальные CognitoUsers для электронной почты / пароля и входа в социальную федерацию для одного и того же электронного письма? - PullRequest
0 голосов
/ 30 марта 2020

Я хотел бы подтвердить, что то, что я заметил, является верным в отношении пользовательских пулов Amazon Cognito и Amplify, особенно жирным текстом:

Пул пользователей каталог пользователя в Amazon Cognito. С помощью пула пользователей ваши пользователи могут войти в ваше веб-приложение или мобильное приложение через Amazon Cognito. Ваши пользователи могут также войти через поставщиков социальных сетей, таких как Google, Facebook, Amazon или Apple, а также через поставщиков удостоверений SAML. Независимо от того, входят ли пользователи в систему напрямую или через третью сторону, все члены пула пользователей имеют профиль каталога, к которому вы можете получить доступ через SDK.

До сих пор я настроил приложение для усиления:

  1. Email / Password Sign-up / Sign-in ( используется amplify add auth с именем пользователя в качестве электронной почты)
  2. социальная федерация Google и Facebook (используется amplify update auth)

Что я ожидаю:

  1. Я смогу создать новую учетную запись (CognitoUser) с электронной почтой myemail@gmail.com, используя email / пароль при регистрации. (myemail@gmail.com еще не был зарегистрирован или связан с какими-либо входами в социальные федерации).
  2. Новый аккаунт CognitoUser не будет создан, если я Google Sign-in с использованием электронной почты Google myemail@gmail.com. Вместо этого мне будет предоставлена ​​учетная запись / CognitoUser, которую я подтвердил с # 1 после входа в Google.

    Независимо от того, войдут ли ваши пользователи непосредственно или через третьих лиц, все члены пула пользователей имеют профиль каталога, к которому вы можете получить доступ с помощью Software Development Kit (SDK).

Что я получаю / Наблюдения:

Я, кажется, получаю (2) уникальных пользователей Cognito для каждого по электронной почте / паролю и методам входа в Google. (см. Прилагаемые Журналы CognitoUser снимки экрана ниже)

Мои вопросы:

  1. Если Сначала я зарегистрировал электронное письмо (myemail@gmail.com), используя адрес электронной почты / пароль. Получу ли я (2) уникальных пользователей Cognito, если я снова войду в систему с помощью Google (или учетной записи Facebook), который использует тот же адрес электронной почты myemail@gmail.com?

  2. Если (2) CognitoUsers созданы для того же электронного письма,

    1. Как запретить создание нового CognitoUser для входа в Google, если электронное письмо уже получено были зарегистрированы с использованием электронной почты / пароля и наоборот?
    2. Можно ли повторно использовать CognitoUser с помощью адреса электронной почты / пароля при входе в Google с тем же адресом электронной почты?
    3. Если [2.1] нельзя предотвратить, как лучше всего управлять данными на стороне сервера для 2 CognitoUsers (которые используют один и тот же адрес электронной почты myemail@gmail.com)

TIA за ваши идеи и советы!

Журналы CognitoUser

  1. CognitoUser из электронной почты / вход с паролем (myemail@gmail.com): enter image description here

  2. CognitoUser из входа в Google (Auth.federatedSignIn({provider: 'Google'})). Адрес электронной почты Google: myemail@gmail.com: CognitoUser - Google Signin

...