# Supabase React Native Kurulumu: Expo ile Auth ve Backend

> Supabase, Expo projelerinde auth ve PostgreSQL backend'i hızlı kurmak için kullanılabilir. Asıl kritik nokta client bağlantısından çok veri erişim kurallarıdır.

Yayıncı: FaturaTik
Son gözden geçirme: 2026-09-05
Kanonik HTML: https://www.faturatik.net/tr/blog/supabase-react-native-kurulumu

Supabase, PostgreSQL tabanlı database, authentication, storage ve server-side özellikler sunan managed backend platformudur.

Expo uygulamalarında özellikle MVP aşamasında ayrı bir backend projesi kurmadan hızlı ilerlemek için kullanılabilir.

## Expo projesine Supabase eklemek

Supabase'in React Native quickstart'ı Expo projesi oluşturma ve `@supabase/supabase-js` istemcisini gerekli React Native bağımlılıklarıyla kurma akışı gösterir.

Tipik kurulumda client helper oluşturulur ve public proje URL/key kullanılır.

## Public key neden uygulamada olabilir?

Mobil uygulama binary'si kullanıcı cihazındadır. Bu nedenle client içine koyduğunuz hiçbir değer gerçek secret kabul edilmemelidir.

Supabase client'ın public/anon veya publishable key'i bu modele göre tasarlanır. Güvenlik yalnız key'i saklamaya değil, database erişimini **Row Level Security** ile sınırlandırmaya dayanmalıdır.

Service-role gibi yüksek yetkili secret'lar ise mobile bundle'a kesinlikle konulmamalıdır.

## Authentication akışı

Basit auth:

```text
signup
→ session
→ profile
→ protected data
```

şeklinde kurulabilir.

Uygulama açıldığında mevcut session okunur ve auth state değişimleri dinlenir.

## Asıl önemli konu: RLS

Örneğin kullanıcının yalnız kendi gelir kayıtlarını görmesi gerekiyorsa politika bu sınırı database seviyesinde korumalıdır.

Sadece UI'da:

```text
WHERE user_id = currentUser.id
```

uygulamak güvenlik sınırı değildir.

Client farklı request gönderebilir. Doğru sınır database policy'sidir.

## Organization modeli ne zaman gerekir?

Ürünün tek kullanıcı yerine şirket veya ekip hesabı olacaksa verileri yalnız `user_id` ile bağlamak ileride sorun çıkarabilir.

Bunun yerine:

```text
organizations
organization_members
revenues
```

gibi model düşünmek daha ölçeklenebilir olabilir.

## Environment variable kullanımı

Public URL/key için Expo'nun client environment yaklaşımı kullanılabilir.

Gerçek secret gerektiren işlemler:

```text
third-party private API key
payment secret
encryption key
service-role key
```

server tarafında tutulmalıdır.

## Supabase ne zaman iyi seçim değildir?

Çok özel infrastructure gerektiren veya tüm backend davranışının kendi servislerinize bağlı olduğu sistemlerde ayrı backend mantıklı olabilir.

Fakat MVP'de hedef ürün değerini kanıtlamaksa auth, DB ve storage için yönetilen platform kullanmak geliştirme maliyetini ciddi azaltabilir.

## Sonuç

Supabase entegrasyonunda en kolay kısım client kurulumudur.

Üretim kalitesini belirleyen asıl konular:

```text
veri modeli
RLS
secret sınırı
organization modeli
audit
server-side kritik işlemler
```

olur.


## Bilgilendirme

Bu içerik genel bilgilendirme amaçlıdır. Üçüncü taraf ürünlerin özellikleri, fiyatları ve mağaza kuralları zaman içinde değişebilir; üretime geçmeden önce resmi dokümantasyonu kontrol edin.

## Sıkça sorulan sorular

### Supabase React Native ile çalışır mı?

Evet. Supabase resmi dokümantasyonunda React Native ve Expo için Auth quickstart bulunur.

### Supabase service role key mobil uygulamaya konur mu?

Hayır. Yüksek yetkili service-role benzeri secret'lar server tarafında tutulmalıdır.

### Supabase kullanırken RLS gerekli mi?

Client'ın doğrudan database API'sine eriştiği yapılarda kullanıcıların yalnız yetkili olduğu satırlara erişmesini sağlamak için RLS temel güvenlik katmanıdır.

## Kaynaklar

- [Supabase — Use Supabase Auth with React Native](https://supabase.com/docs/guides/auth/quickstarts/react-native)

## İlgili rehberler

- [expo-ile-mobil-uygulama-yapma](https://www.faturatik.net/tr/blog/expo-ile-mobil-uygulama-yapma/index.md)
- [nativewind-expo-kurulumu](https://www.faturatik.net/tr/blog/nativewind-expo-kurulumu/index.md)
- [expo-app-store-yayinlama](https://www.faturatik.net/tr/blog/expo-app-store-yayinlama/index.md)
