Мы создаем приложение, для которого требуются социальные учетные записи (Apple, Facebook, Instagram, Google и т. Д. c), а также номер телефона для входа (где пользователь получает код для входа в SMS)
Это - это модель входа, аналогичная приложениям для знакомств Tinder / Bumble
Мы используем AWS для нашего бэкэнда и хотим использовать AWS Cognito для нашей авторизации / аутентификации. У меня возникают трудности с поиском способ получить AWS Cognito, работающий с нашей настройкой:
В настоящее время AWS Cognito предоставляет 2 способа авторизации.
- Пулы пользователя Cognito
- Cognito Идентификационный пул
Мы разработали метод входа по номеру телефона с помощью пула пользователей и методы социального входа в систему, т. Е. Google и Facebook объединяются через. Identity Pool.
Проблема с методом федеративного входа в систему заключается в том, что токены JWT не возвращаются Cognito, вместо этого возвращаются временные учетные данные AWS (которые на данный момент эффективно работают с системой).
Но поскольку AWS не позволяет нам использовать два авторизатора одновременно, нам нужно было использовать временные учетные данные вместо токенов JWT, предоставленных пулом пользователей. Проблема заключается в том, что срок действия временных учетных данных истекает максимум через 12 часов с момента их выдачи, а в случае входа по телефонному номеру пользователь должен затем снова войти в систему, чтобы снова сгенерировать учетные данные, что ухудшает качество обслуживания пользователей.
Хотя вход в Google и Facebook также можно интегрировать через пул пользователей и получать взамен JWT-токен, проблема заключается в том, что появляется пользовательский интерфейс, размещенный на Cognito, который снова предлагает пользователю несколько методов входа, используемых в приложении, что опять-таки является плохим UX, так как пользователю необходимо дважды нажать на Вход в систему с Facebook, чтобы войти.
Есть ли способ получить номер телефона для входа в систему / социальный вход без:
- Использование размещенного пользовательского интерфейса (насколько я понимаю, размещенный пользовательский интерфейс нельзя изменить так, чтобы он отображался так, как мы хотим, ie: как и в случае с нашими оригинальными дизайнами страницы входа)
- Форсирование пользователь должен войти снова когда-либо 12 часов
- Вынуждение пользователя войти в систему дважды (один раз в нашем приложении и один раз в Cognito предоставляют d UI)
Спасибо за ваше время