Ostatnio dosyć popularnym rozwiązaniem staje się FireBase jednak to oznacza całą logikę aplikacji po stronie JS(klienta) ...co z bezpieczeństwem. Użytkownik który wie o co chodzi może zmodyfikować kod po stronie klienta.
Kod po stronie klienta nie jest bezpieczny. Nikt też nie narzuca przeniesienia całej logiki na stronę klienta.
-
Dla danego projektu google'owego możesz wygenerować service account z kluczami prywatnymi, które mają uprawnienia tylko do firebase api. Na podstawie tych kluczy wygenerujesz token autoryzacyjny dla klienta.
-
Po stronie firebase możesz skonfigurować z jakiego ip, domeny i jakimi sposobami użytkownicy mogą się logować
-
Po stronie firebase możesz w rules ustawić kto i jakie ma uprawnienia w danych ścieżkach bazy danych
MuadibAtrides napisał(a):
Kod po stronie klienta nie jest bezpieczny. Nikt też nie narzuca przeniesienia całej logiki na stronę klienta.
Dla danego projektu google'owego możesz wygenerować service account z kluczami prywatnymi, które mają uprawnienia tylko do firebase api. Na podstawie tych kluczy wygenerujesz token autoryzacyjny dla klienta.
Po stronie firebase możesz skonfigurować z jakiego ip, domeny i jakimi sposobami użytkownicy mogą się logować
Po stronie firebase możesz w rules ustawić kto i jakie ma uprawnienia w danych ścieżkach bazy danych
W zasadzie interesuje mnie nabardziej numer 3, ale jak za pomocą ruleś zdefiniować logikę aplikacyjną według mnie się nie da np.
Mamy aplikację czatu i teraz user A piszę do B jednak w firebase jest zapisane w danych usera B, że A jest zbanowany i nie może pisać do B. Jednak cała logika kto/co jest w JS a co za tym idzie można to obejść
https://firebase.google.com/docs/database/security/securing-data możesz ustawić komuś flagę np. Not write i jeśli jego id tam jest to nie może pisać do jakiejś ścieżki. Bezpieczeństwo po stronie serwera firebase. A nadawanie uprawnień może dokonywać np tylko właściciel danej gałęzi. To co opisujesz to dosyć podstawowa funkcjonalność
Firebase nie jest do wszystkiego. Nie chce mi się kopiować, więc wpisz sobie when not to use firebase
firebase use cases
. https://www.quora.com/When-is-Firebase-not-a-good-choice
If you’re making something cool that just needs a fast, reliable database, user authentication and usage tracking, then Firebase is a great way to go. If you’re building something that has complex back-end business rules then you’re going to run into difficulties.