-10% na wszystko w kinetyka.pldo 30.09, 23:59•PIZZASZWECJA• plany AI: Cursor, Gemini, Higgsfield w ułamku ceny Odbierz rabatkinetyka.pl →
Przejdź do treści
Artykuły

Supabase krok po kroku: pierwsza tabela, zabezpieczenia i połączenie z aplikacją

Samouczek Supabase: projekt, pierwsza tabela, Row Level Security, adres i klucz publiczny, połączenie z aplikacją, logowanie użytkowników i pliki.

4 min czytania
Supabase krok po kroku: pierwsza tabela, zabezpieczenia i połączenie z aplikacją

👁 118 przeczytań

// w skrócie
  • Pierwszą tabelę w Supabase, z której czyta aplikacja, można postawić w około kwadrans, korzystając z edytora tabel lub SQL Editor.
  • Tabela bez włączonego Row Level Security udostępniona przez API to najczęstsza przyczyna wycieków danych w szybko budowanych aplikacjach.
  • Plan darmowy wstrzymuje nieużywane projekty, więc gdy aplikacja ma prawdziwych użytkowników, konieczne jest przejście na plan Pro.

Supabase daje gotowe zaplecze aplikacji: bazę danych, logowanie użytkowników, pliki i automatyczne API, a pierwszą tabelę, z której czyta Twoja aplikacja, postawisz w kwadrans. W tym samouczku idę po kolei od pustego projektu do danych wyświetlanych w aplikacji, z jednym krokiem, którego nie wolno pominąć: zabezpieczeniem tabeli.

Kroki opieram na oficjalnych przewodnikach Supabase. Czym jest sama platforma i dlaczego tak często wybierają ją osoby budujące z AI, opisałem w przewodniku po Supabase.

Zanim zaczniesz: zaplanuj dane

Zanim założysz pierwszą tabelę, zapisz na kartce, jakie dane aplikacja przechowuje i kto może je widzieć. Na przykład: zajęcia widzą wszyscy, rezerwację widzi tylko osoba, która ją zrobiła, i prowadząca. Z takiej notatki od razu wynikają zasady dostępu, które potem wpiszesz w Row Level Security. Planowanie zasad po zbudowaniu aplikacji kończy się zwykle tym, że część tabel zostaje bez nich.

Krok 1. Projekt

Po założeniu konta tworzysz nowy projekt w panelu swojej organizacji. Podajesz nazwę, hasło do bazy danych i region. Hasło zapisz od razu w menedżerze haseł, bo będzie potrzebne przy bezpośrednim łączeniu się z bazą, a region wybierz jak najbliżej użytkowników, dla Polski najbliższy europejski.

Po kilku minutach projekt jest gotowy, a pod spodem działa zwykły PostgreSQL, który w razie przeprowadzki zabierzesz gdziekolwiek.

Krok 2. Pierwsza tabela

Tabelę możesz założyć w edytorze tabel, klikając jak w arkuszu, albo w edytorze SQL. Oficjalny przewodnik pokazuje wersję z SQL Editor: tworzysz prostą tabelę, na przykład listę instrumentów z identyfikatorem i nazwą, i dodajesz kilka przykładowych wierszy. Nawet jeśli nie znasz SQL, polecenia z przewodnika wystarczy skopiować i uruchomić.

Krok 3. Zabezpieczenie tabeli, czyli Row Level Security

To krok, od którego zależy, czy Twoje dane są bezpieczne. Row Level Security to zasady określające, kto może czytać i zmieniać które wiersze. Oficjalny przewodnik włącza ją dla tabeli i dodaje regułę, która pozwala wszystkim tylko czytać listę instrumentów. Dla publicznej listy to w porządku. Dla danych klientów reguła musi pozwalać każdemu widzieć wyłącznie własne wiersze.

Tabela bez tych zasad, udostępniona przez API, to najczęstsza przyczyna wycieków w aplikacjach budowanych szybko. Pisałem o tym szerzej w przewodniku. Zasada jest prosta: żadna tabela z danymi użytkowników nie trafia do aplikacji bez włączonych zasad dostępu.

Krok 4. Adres projektu i klucz publiczny

Aplikacja potrzebuje dwóch rzeczy, które znajdziesz w panelu Connect w projekcie: adresu projektu i klucza publicznego. Wklejasz je do pliku z ustawieniami aplikacji. Klucz publiczny może trafić do przeglądarki, bo o dostępie do danych decydują zasady z poprzedniego kroku.

Jeśli aplikacja nie widzi danych, sprawdź, czy w ustawieniach integracji włączone jest Data API.

Krok 5. Połączenie z aplikacją

Supabase ma gotowe przewodniki dla kilkunastu technologii, od Next.js, Reacta i Vue po Fluttera, Pythona i Laravela. W przypadku Next.js cały start sprowadza się do jednego polecenia tworzącego aplikację z gotowym połączeniem, wklejenia adresu i klucza, a potem napisania strony, która pobiera dane z tabeli. Po uruchomieniu aplikacji widzisz na stronie wiersze dodane w kroku drugim.

Jeśli budujesz w Lovable albo podobnym narzędziu, większość tych kroków wykonuje ono za Ciebie, ale sprawdzenie zasad dostępu nadal należy do Ciebie.

Krok 6. Logowanie i pliki

Gdy tabela działa, kolejne elementy dokładasz tak samo. Logowanie użytkowników włączasz w sekcji uwierzytelniania, wybierając metody, na przykład e-mail albo konto Google. Pliki, jak zdjęcia profilowe czy załączniki, trzymasz w magazynie plików, który także ma własne zasady dostępu. Dla bardziej złożonej logiki są funkcje uruchamiane po stronie serwera.

Najczęstsze błędy na starcie

  • Tabela bez zasad dostępu udostępniona w aplikacji.
  • Klucz serwisowy w kodzie przeglądarki zamiast klucza publicznego.
  • Region na drugim końcu świata, przez co każde zapytanie trwa dłużej.
  • Brak kopii zapasowej przed większymi zmianami w strukturze bazy.

Kiedy przejść na plan Pro

Plan darmowy wystarcza do nauki i prototypów, ale nieużywane projekty są na nim wstrzymywane. Gdy aplikacja ma prawdziwych użytkowników, projekt nie może zasypiać, i wtedy plan Pro przestaje być opcją.

Google · Twoje źródłaPromptowy wyżej w Twoim Google - jednym kliknięciemDodaj do preferowanych źródeł →

Jak sprawdzić, czy dane są bezpieczne

Po podłączeniu aplikacji zaloguj się jako dwie różne osoby i sprawdź, czy każda widzi tylko swoje dane. To najprostszy test, który wyłapuje najgroźniejsze błędy. Przejrzyj też w panelu listę tabel i upewnij się, że każda udostępniona w API ma włączone zasady dostępu. Supabase ostrzega w panelu przed tabelami bez tych zasad, więc warto tych ostrzeżeń nie ignorować.

Supabase Pro na 12 miesięcy, w formie kredytów na Twoim koncie, sprzedaję w sklepie kinetyka.pl.

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.

Najczęstsze pytania

Co to jest Row Level Security w Supabase i jak to włączyć?

Row Level Security to zasady określające, kto może czytać i zmieniać które wiersze w tabeli. Włącza się je dla konkretnej tabeli i dodaje reguły - np. pozwalające wszystkim czytać publiczną listę, albo każdemu użytkownikowi widzieć wyłącznie własne wiersze.

Jakich dwóch rzeczy potrzebuje aplikacja, żeby połączyć się z Supabase?

Aplikacja potrzebuje adresu projektu i klucza publicznego, które znajdziesz w panelu Connect w projekcie. Klucz publiczny może trafić do przeglądarki, ponieważ o dostępie do danych decydują zasady Row Level Security.

Dla jakich technologii Supabase ma gotowe przewodniki połączenia?

Supabase ma gotowe przewodniki dla kilkunastu technologii, m.in. Next.js, React, Vue, Flutter, Python i Laravel. W przypadku Next.js start sprowadza się do jednego polecenia tworzącego aplikację z gotowym połączeniem.

Jak sprawdzić, czy dane w Supabase są odpowiednio zabezpieczone?

Należy zalogować się jako dwie różne osoby i sprawdzić, czy każda widzi tylko swoje dane. Dodatkowo w panelu trzeba przejrzeć listę tabel i upewnić się, że każda udostępniona w API ma włączone zasady dostępu - Supabase ostrzega w panelu przed tabelami bez tych zasad.

// czytaj też

Podobne tematy na Promptowym

Piotr Olszewski

Piotr Olszewski

ADMINISTRATOR

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony

🛒 Sklep Kinetyka Google AI Gemini Pro 170 zł CapCut Pro 460 zł/rok Cursor Pro+ 99 zł/mc Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× ‹ powiększenie ›