Supabase tidak menggunakan tabel buatan sendiri untuk login secara default. Saat kamu menggunakan:
supabase.auth.signInWithPassword(email: ..., password: ...);
maka akun login kamu disimpan di tabel khusus internal Supabase, yaitu:
🧱 Tabel Auth Internal: auth.users
-
Ini adalah tabel sistem milik Supabase, bukan tabel buatan kamu.
-
Tidak bisa diakses langsung lewat Supabase Dashboard kecuali kamu aktifkan Row Level Security (RLS) dan buat
PostgREST API
khusus. -
Kalau kamu buka Supabase Dashboard > Authentication > Users, itu sebenarnya membaca dari
auth.users
.
🔌 Jadi, kode mana yang terhubung ke tabel itu?
Supabase SDK (supabase_flutter
) secara otomatis mengirimkan request ke endpoint auth/v1/token
atau auth/v1/signup
milik Supabase. Ini tidak kamu akses secara langsung, tapi lewat baris seperti ini:
await Supabase.instance.client.auth.signInWithPassword(email: ..., password: ...);
Itu sudah menghubungkan ke tabel internal auth.users
milik Supabase.
❓Bagaimana jika saya ingin menyimpan data user sendiri?
Jika kamu ingin menyimpan data tambahan seperti username
, foto profil
, alamat
, dll, kamu perlu:
1. Buat tabel sendiri misalnya profiles
create table profiles (
id uuid primary key references auth.users(id),
username text,
full_name text,
avatar_url text
);
2. Tambahkan trigger Supabase untuk auto-insert
create function public.handle_new_user()
returns trigger as $$
begin
insert into public.profiles (id)
values (new.id);
return new;
end;
$$ language plpgsql;
create trigger on_auth_user_created
after insert on auth.users
for each row execute function public.handle_new_user();
3. Akses profiles
dari Flutter
final profile = await Supabase.instance.client
.from('profiles')
.select()
.eq('id', Supabase.instance.client.auth.currentUser!.id)
.single();
🔁 Kesimpulan
Hal | Tempat |
---|---|
Login/Signup | auth.users (internal table) |
Tambahan user info | Buat tabel sendiri, contoh: profiles |
Mengatur koneksi ke tabel | Pakai .from('profiles') jika custom table, untuk login tidak perlu karena sudah lewat auth.* |
selanjutnya jika ingin contoh kode Flutter yang juga menyimpan info ke tabel profiles
setelah register
No comments:
Post a Comment