Аутентификация - очень важная функция чувствительных приложений - веб, мобильных или настольных. Аутентификация часто идет рука об руку с авторизацией; в то время как первое используется для ПРОВЕРКИ ИДЕНТИЧНОСТИ пользователя платформы, второе используется для разрешения или отклонения ДОСТУПА к ресурсам на основе идентификатора объекта, запрашивающего ресурс.

Firebase помогает разработчикам легко и быстро внедрять логику аутентификации в свои приложения, давая им время и место, чтобы сосредоточиться на другой логике, более специфичной для платформы. Такой подход должен быть у каждого продуктивного разработчика.

Подход по умолчанию к использованию аутентификации Firebase, хотя и имеет риск безопасности, который можно уменьшить. Что это за подход к реализации по умолчанию и каков связанный с этим риск? Что можно сделать, чтобы снизить этот риск?

Подход по умолчанию

АУТЕНТИФИКАЦИЯ реализуется с помощью клиентских SDK для Android, iOS или веб-клиентских SDK.

АВТОРИЗАЦИЯ выполняется на сервере с помощью Firebase Admin SDK для Node.js, Python, Java или GO.

Риск безопасности

Целью аутентификации является ПОДТВЕРЖДЕНИЕ ПОДТВЕРЖДЕНИЯ ЛИЧНОСТИ ПОЛЬЗОВАТЕЛЕЙ. Эту цель легко обойти в клиентских приложениях. Клиентские приложения можно легко модифицировать; и когда вы доверяете весь процесс АУТЕНТИФИКАЦИИ клиентскому приложению, вы открываете миру свою логику аутентификации, и не требуется много ума, чтобы ослабить уровень аутентификации путем изменения клиентского приложения.

С Firebase нет необходимости изменять клиентское приложение; просто возьмите ключи, и все готово. И ваш сервер может быть легко обманут, чтобы он обслуживал запросы и разрешал ресурсы пользователю, который не был должным образом авторизован.

Снижение риска

Перенесите основную логику аутентификации на свой сервер!

Как это может быть сделано?

На самом деле это отрывок из доклада, который я собираюсь сделать на GDG DevFest 2017 в Абе и Ибадане 😃. Позже я обновлю это репо слайдами, руководствами и, возможно, примерами кодов.

А пока не стесняйтесь изучить эту библиотеку для реализации аутентификации firebase в среде js-сервера node.

Дополнительно

Узнайте, как использовать Firebase REST для расширения возможностей аутентификации Firebase на еще официально не поддерживаемые серверные языки, такие как PHP и ASP.

Почему я авторитет в этой теме

Я довольно глубоко изучил аутентификацию Firebase

Обо мне

Я заядлый ученик и заядлый учитель.

Я называю себя

  • #ChangeArchitect, потому что я не могу где-то оставаться, не пытаясь улучшить положение;
  • #WideStack Developer, потому что большую часть своих последних 4–5 лет я провел, собирая знания и опыт по различным языкам программирования, технологиям, инструментам и стекам.
  • Никто, кто знает меня, не обсуждает эти титулы 😏

Я строю для

Интернет

  • Фронтенд с Bootsrap, jQuery и Angular
  • Бэкенд с PHP, ASP и Node js (Node js - мой личный фаворит)

Android

  • Основной язык - Java
  • Основная IDE - Android Studio
  • Также сборка с Xamarin и Android Studio
  • Большой поклонник Kotlin, но пока мало пользуюсь им.

iOS

  • С Swift и Xcode
  • С Xamarin и Visual Studio

Я создал приложения для

  • Blackberry 7.1
  • Телефоны Windows

Отказ от ответственности

Разделяемые мысли и мнения принадлежат исключительно мне. Эта статья вдохновлена ​​беседой на эту тему с самим пожарным, Сокари Гиллис-Гарри. Приветствуются поддерживающие и / или противоположные мысли.