Firebase jawnie oddziela uwierzytelnianie (logowanie się do aplikacji) od autoryzacji (dostęp do zasobów bazy danych lub pamięci masowej z aplikacji).
Nie można wyłączyć rejestracji bez wyłączania logowania dla wszystkich użytkowników, co nie jest tym, czego potrzebujesz.
W typowym scenariuszu programista rozpocznie zabezpieczanie dostępu do bazy danych/pliku na podstawie uwierzytelnionego użytkownika. Zobacz odpowiednią sekcję w dokumentach dla database security i storage security.
Jeśli Twoim przeznaczeniem jest to, że chcesz, aby tylko określeni użytkownicy mieli dostęp, prawdopodobnie będziesz chciał zaimplementować białą listę: listę użytkowników, którzy mają dostęp do danych.
Można to zrobić w swoich zasad bezpieczeństwa:
{
"rules": {
".read": "auth.uid == '123abc' || auth.uid == 'def456'",
".write": false,
}
}
albo (lepiej) poprzez umieszczenie listy dozwolonych UID w swojej bazie danych i odnosząc się do tego od swoich zasad bezpieczeństwa:
"allowedUids": {
"123abc": true,
"def456": true
}
A następnie:
{
"rules": {
".read": "root.child('allowedUids').child(auth.uid).exists()",
".write": false,
}
}
Dziękuję za szybką reakcję. Rozwiązuje mój problem. – ZimZim
Jeśli moja odpowiedź była przydatna, kliknij przycisk upvote po lewej stronie. Jeśli odpowiedź na Twoje pytanie, kliknij znacznik wyboru, aby je zaakceptować. W ten sposób inni wiedzą, że zostałeś (wystarczająco) pomógł. –
Ładne obejście. Nadal chciałbym dodać tę funkcję. Będzie wielkim bałaganem, jeśli mamy 200 testerów i musimy dodać je ręcznie, tak jak to –