Аутентификация Firebase против администратора Firebase - PullRequest
0 голосов
/ 26 июня 2018

В чем разница между аутентификацией firebase и администратором firebase?

Насколько мне известно, администратор Firebase имеет функции аутентификации и может обходить защиту, в отличие от аутентификации Firebase. Кроме того, администратор Firebase реализован на стороне сервера, а аутентификация Firebase в основном на стороне клиента.

Я хочу знать, почему аутентификация firebase должна проводиться на стороне клиента и почему мы должны использовать аутентификацию firebase вместо firebase admin для функции аутентификации.

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Аутентификация Firebase

Аутентификация Firebase используется в клиентском приложении для идентификации конкретного пользователя. И это используется для ограничения ресурсов на базе огня. Так что это строго в области конечного пользователя.



Администратор Firebase

С другой стороны, админ Firebase предназначен исключительно для бэкэнда. Вы можете использовать его для определения пользовательской логики для Firebase и изменять службы Firebase в соответствии со своими потребностями. Ниже приведен сценарий использования.

1. Управление пользователями

Не всегда удобно посещать консоль Firebase для управления пользователями Firebase. API управления пользователями администратора предоставляет программный доступ тем же пользователям. Он даже позволяет вам делать то, чего не может консоль Firebase, например, извлекать полные данные пользователя и изменять пароль пользователя, адрес электронной почты или номер телефона.

2. Пользовательская аутентификация

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

3. Проверка личности

Аутентификация Firebase в основном используется для идентификации пользователей вашего приложения с целью ограничения доступа к другим службам Firebase, таким как база данных Firebase Realtime и облачное хранилище. Но вы также можете использовать сервис для идентификации этих пользователей на вашем собственном сервере. Это позволяет безопасно выполнять серверную логику от имени пользователей, вошедших в систему с помощью аутентификации Firebase.

4. Пользовательские претензии пользователя

В некоторых случаях может потребоваться реализовать детальный контроль доступа для пользователей, уже вошедших в систему с одним из поддерживаемых поставщиков аутентификации Firebase, таких как электронная почта / пароль, Google, Facebook, телефон и т. Д. Комбинация пользовательских утверждений пользователя и правила безопасности приложения предоставляют эту возможность. Например, пользователь, вошедший в систему поставщика электронной почты / пароля Firebase Auth, может иметь контроль доступа, определенный с помощью пользовательских утверждений.

Для получения дополнительной информации см. firebase doc

0 голосов
/ 26 июня 2018

Firebase Authentication - это продукт, который позволяет вам писать код для входа ваших пользователей в ваше приложение и ограничивать доступ пользователей к ресурсам в других продуктах Firebase. SDK предоставляются для различных платформ.

Fireabse Admin - это SDK, который позволяет вам писать код на своем бэкэнде, который манипулирует данными в службах Firebase и Google Cloud (таких как база данных в реальном времени, Firestore, облачное хранилище и облачный обмен сообщениями). Как вы сказали, он предназначен только для бэкэнда и обходит обычные меры безопасности, установленные для клиентских приложений.

Причина, по которой вы не можете использовать Firebase Admin SDK в своем приложении, заключается в том, что для работы SDK вам придется отправлять личные учетные данные вместе с приложением. Отправка учетных данных в ваше приложение - это огромная дыра в безопасности - не делайте этого. Храните их в безопасности на своем бэкэнде, где злоумышленники не смогут восстановить ваш код и использовать ваши учетные данные.

...