Лучшие практики AWS Cognito с поставщиками удостоверений - PullRequest
0 голосов
/ 26 октября 2018

У меня есть наполовину запущенное приложение, в котором пользователь может зарегистрироваться через форму или через Facebook.

Я пытаюсь сделать следующее, и мне было интересно, соответствует ли это рекомендациям AWS Cognito илиnot.

Регистрация:

  • Форма регистрации («локальный пользователь»): пользователь может ввести имя пользователя / пароль с подробной информацией (пол, bday и т. д.).Учетные данные сохраняются в пуле пользователей AWS Cognito и всех других данных профиля в пользовательской базе данных.
  • Регистрация через Facebook: пользователь может нажать кнопку входа в Facebook на странице, и после проверки подлинности он имеетзаполнить недостающую информацию (пол, bday и т. д.), если она не предоставлена ​​FB.Информация о профиле будет храниться в той же базе данных, что и для регистрации пользователя через форму.

Пулы:

  • Пул пользователей AWS подключен как личностьпровайдер в моем пуле идентификации AWS.
  • Facebook подключен к тому же пулу идентификации.

Обработка токена:

  • «Локальный пользователь»: я на основена identityId из пула пользователей учетные данные из пула идентификации.Я использую эти учетные данные для доступа к ресурсам в AWS.Учетные данные будут кэшироваться на клиенте в безопасном месте.
  • Пользователь Facebook: та же процедура, что и для "локального пользователя".

Мои вопросы:

  • Имеет ли смысл общий подход или есть вещи, которые не соответствуют дизайну AWS Cognito?
  • Я сохраняю всю информацию профиля («локальный пользователь» и пользователь Facebook) в своей собственной базе данных, потому что янужны более продвинутые возможности запроса / поиска по информации профиля.Cognito не предлагает сложных возможностей поиска.Это плохая практика, если я отделен от пула пользователей, соответственно?Пользовательский пул хранит только логин / пароль локальных пользователей?Каковы недостатки этого подхода?
  • Должен ли я создавать пользователя в пуле пользователей для каждой личности Facebook?Если да, то почему?

1 Ответ

0 голосов
/ 26 октября 2018

Вы можете делать все, что пытаетесь сделать, используя javascript sdk.Проверьте эту ссылку, она показывает, как сделать практически все, что вам нужно.https://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html

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