Для клиентского проекта я создаю простое гибридное приложение, которое выполняет очень простую функцию, но будет иметь высокий трафик. Приложение обычно не нуждается в бэкэнд, поскольку это очень просто, а firebase кажется идеальным решением для проекта.
Единственная часть, на которой я застрял, - это проверка SMS/аутентификация с Firebase. Однако после некоторых интенсивных поисковых запросов и чтения документов я понял, что нет простого способа сделать это. Вот что я изучил до сих пор:
- Fabric.io Digits имеет отличный API JS, однако по какой-либо причине firebase и цифры не будут хорошо воспроизводиться вместе: https://groups.google.com/forum/#!topic/firebase-talk/sB7lPuyCVBQ
- Facebook Account Kit - всего неделю назад Facebook выпустил новый комплект для проверки и аутентификации SMS, хотя по-прежнему кажется, что он имеет та же проблема, что и слова fabric.io, по крайней мере до тех пор, пока не будет доказано обратное.
- Twilio/Nexmo через NodeJS. Это обе эпические службы с отличными API-интерфейсами JS, однако из того, что я понимаю, для этого потребуется отдельный серверный сервер для обработки обмена токенами JWT. И это само по себе является еще одним сервером, который станет узким местом во время высокого трафика, а другой уязвимостью для безопасности, команде клиентов придется управлять отдельно. Не самое приятное.
- Twilio/Nexmo и Auth0. Пока это кажется лучшим вариантом, когда аутентификация и управление пользователями обрабатывается Auth0, однако это решение может быстро стать дорогостоящим, учитывая, что оба twilio или nexmo и auth0 являются платными решениями. Не то, чтобы я дешево ожидал, что все будет работать бесплатно, - но чувствует себя очень дорогим дополнительным шагом, учитывая, что это просто перетаскивание токенов. [see: clients-from-hell]
- Я помню, как где-то читал, например, использование телефонных номеров в виде электронных писем на firebase, таких как: [email protected], и использовать коды безопасности, отправленные по смс в качестве пароля, что звучит очень отрывочно по многим причинам.
Обычно с гибридными мобильными приложениями виноват не-родной характер их или JS API, но в первый раз (по крайней мере для меня) кажется, что это не так. Я предполагаю, что в данный момент Firebase не является допустимым вариантом, но в последний раз хотел попросить любящих и заботливых членов сообщества, прежде чем начинать изучать AWS и настраивать весь бэкэнд для клиента.
Есть ли другой способ справиться с этим типом аутентификации минус средний сервис/без серверного сервера? У кого-нибудь есть опыт использования этих решений?
ОБНОВЛЕНИЕ: МАЙ 2017
Проверка телефона и аутентификация теперь доступны в Firebase. См. мой ответ самостоятельно.
ОБНОВЛЕНИЕ: АПР 2017
Firebase теперь поддерживает Облачные функции. Теперь вы можете выполнить это и многое другое с помощью функций облака без настройки серверов.