Как получить защищенные данные Firebase от angular или любой другой веб-платформы - PullRequest
0 голосов
/ 02 мая 2020

Вот мои правила безопасности и условия в базе данных о пожаре

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /Product/{document=**} {
      allow read: if true; 
      allow write: if request.auth.uid != null;
    }
  }
}

Согласно документации пожарного магазина мы можем получить данные в один раз этим методом .

db.collection("Product").get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        console.log(doc.id, " => ", doc.data());
    });
});

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

1 Ответ

1 голос
/ 02 мая 2020

Как правильно отправлять мой статус пользователя или идентификатор пользователя при каждом запросе.

Вам необходимо объединить Правила безопасности с Аутентификация через Firebase .

Итак, с помощью Аутентификации Firebase вы покрываете аутентификацию часть безопасности вашей системы (то есть подтверждаете личность пользователя), а с помощью Правил безопасности вы покрываете авторизацию часть (т.е. предоставление доступа к системе).

Из документации :

Чтобы зарегистрировать пользователя в своем приложении, вы сначала получите учетные данные для аутентификации от пользователя. Этими учетными данными могут быть адрес электронной почты и пароль пользователя или токен OAuth от федеративного поставщика удостоверений. Затем вы передаете эти учетные данные в SDK Firebase Authentication. Затем наши бэкэнд-сервисы проверит эти учетные данные и вернут ответ клиенту.

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

Таким образом, вам необходимо выбрать нужный способ (ы) входа (например, пароли, телефонные номера, федеративные провайдеры идентификации, такие как Google, Facebook и Twitter и т. д. c.), а затем внедрите одну (или более) соответствующую функцию (-и) входа в систему в своем приложении. Обратите внимание, что вы также можете использовать свой собственный механизм аутентификации, поскольку JSON Web-токены (JWT) могут генерироваться на вашем собственном сервере и использоваться для аутентификации пользователей с помощью метода signInWithCustomToken().

После входа в систему токен аутентификации будет автоматически включен в запросы к внутренним сервисам Firebase (Firestore, Cloud Storage и т. Д. c.).

Подробнее в разделе " Начало работы с Firebase Authentication " page .


В Интернете вы также найдете несколько учебных пособий: https://www.google.com/search?q=angular+firebase+authentication+example

...