OAuth 2.0 Nedir?

Mala Anlatır Gibi + Sana Lazım mı?

Basit Anlatım

Günlük Hayattan Örnek

Apartmana misafir geldi. Kapıyı açmak için:

❌ Kötü Yol

"Al benim ev anahtarımı, kapıyı kendin aç"

Misafir tüm eve erişebilir, isterse kopyalayabilir

✅ OAuth Yolu

"Ben kapıcıya söyledim, o seni tanıyacak ve kapıyı açacak"

Misafir sadece izin verilen yere girebilir

Gerçek Hayat: "Google ile Giriş Yap"

1

Spotify'a girmek istiyorsun, "Google ile Giriş Yap" diyorsun

2

Google sana soruyor: "Spotify email adresini görsün mü?"

3

Sen "Evet" diyorsun

4

Google, Spotify'a bir token veriyor (şifreni değil!)

5

Spotify bu token ile sadece email'ini alabilir, başka bir şey yapamaz

Yani OAuth 2.0

Şifreni paylaşmadan, başka uygulamalara sınırlı erişim vermeni sağlayan bir protokol.

OAuth 2.0 Kullanım Senaryoları

Social Login

"Google ile giriş yap", "Facebook ile giriş yap"

→ Socialite paketi ile yapılır (OAuth 2.0 kullanır)

3rd Party API Erişimi

Başka uygulamaların senin API'ına erişmesi

→ Passport paketi ile yapılır (OAuth 2.0 sunucusu)

Kendi Mobil Uygulaması

Kendi uygulamanın kendi API'ına erişmesi

OAuth 2.0 GEREKMEZ! Sanctum yeterli

Sana OAuth 2.0 Lazım mı?

HAYIR, Lazım Değil

Eğer şunları yapıyorsan:

  • Kendi mobil uygulamanı yapıyorsan
  • Kullanıcı email/şifre ile giriş yapacaksa
  • 3rd party uygulama API'ına erişmeyecekse

→ Sanctum yeterli!

EVET, Lazım

Eğer şunları yapıyorsan:

  • "Google ile giriş yap" özelliği ekleyeceksen
  • Başka uygulamaların senin API'ına erişmesini istiyorsan
  • Public API sunacaksan (Spotify gibi)

→ Passport lazım (migration gerekli)

Karşılaştırma: Sanctum vs Passport (OAuth 2.0)

Özellik Sanctum Passport (OAuth)
Ne için? Kendi uygulamaların 3rd party uygulamalar
Migration 1 tablo 5+ tablo
Kurulum Basit Karmaşık
Kullanım Kolay Zor
"Google ile giriş" Yapamaz Yapamaz*
Senin durumun için

* "Google ile giriş" için Socialite paketi kullanılır, Passport değil.

Migration Karşılaştırması

Sanctum (1 tablo)

personal_access_tokens
├── id
├── tokenable_type
├── tokenable_id
├── name
├── token
├── abilities
└── timestamps

Passport (5+ tablo)

oauth_access_tokens
oauth_auth_codes
oauth_clients
oauth_personal_access_clients
oauth_refresh_tokens
+ personal_access_tokens

Sonuç

Demekki mobil uygulaması için:

OAuth 2.0 GEREKMEZ

Yapılacaklar:

  1. 1 personal_access_tokens migration'ını tenant klasörüne kopyala
  2. 2 php artisan tenants:migrate çalıştır
  3. 3 Bitti! Mevcut kod değişmeden çalışır

İleride "Google ile giriş" istersen, o zaman Socialite paketi eklersin (ayrı bir konu).

17 Şubat 2026 • Tuufi.com