Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Sanctum ve Passport: Kendi Token Yetkilendirmemizi Neden Bıraktık
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Sanctum ve Passport: Kendi Token Yetkilendirmemizi Neden Bıraktık

Yazılım

Sanctum ve Passport: Kendi Token Yetkilendirmemizi Neden Bıraktık

teknomers
Son güncelleme: 22 Temmuz 2026 21:45
teknomers
Paylaş
Paylaş

Projeleriniz API kimlik doğrulaması gerektirdiğinde, genellikle bir token şeması oluşturmak için hızlı bir çözüm düşünmek cazip gelebilir. Ancak, bu tür bir yaklaşımın getirilerini her zaman göz önünde bulundurmalısınız. Özellikle kimlik doğrulama ve yetkilendirme işlemleri, güvenlik riskleri taşıdığı için dikkatlice tasarlanmalıdır.


İlk olarak bazı terimler

Ability (scope): Bir token’ın ne tür işlemleri gerçekleştirebileceğini tanımlayan etiket. Örneğin, reports:read. Önemli olan etiketin kendisi değil, kodunuzun bu yetkiyi gerçekten kontrol etmesi.

Revocation: Bir token’ı iptal ederken hesabın geri kalanını etkilememek. Görünüşte basit olsa da, birçok yerel sistem bunu düzgün bir şekilde yapamayabilir.

Sanctum: Laravel’in, kendi kontrolünüzdeki şeyler için hafif bir token yönetim sistemi. OAuth işlemlerine ihtiyaç duymadan, her iki ucu da güvenli kabul edersiniz.

Passport: Gerçek OAuth2 uygulaması, kontrol edemediğiniz bir üçüncü tarafın kimlik bilgilerine ihtiyaç duyulduğunda kullanılır. İzin türleri, yenileme döngüsü gibi tüm özellikleri içerir.

Blast radius: Token’ı aldıktan sonra yapabileceklerinizi ifade eden terim. Token’ı verdiğiniz gün karar verilmiş olur, sızdığı gün değil.


Kodda bu nasıl görünür

Gerçek bir scope ile token oluşturma:

// Bu entegrasyonın gerçekten ihtiyaç duyduğu yetkileri verin
$token = $user->createToken(
    name: 'reporting-integration',
    abilities: ['reports:read'],
    expiresAt: now()->addDays(30),
);

return response()->json(['token' => $token->plainTextToken]);

Yetkileri kontrol etme:

public function export(Request $request)
{
    if (! $request->user()->tokenCan('reports:read')) {
        abort(403);
    }

    // dışa aktarma işlemini gerçekleştir
}

Bir token’ı iptal etmek:

// Belirli bir cihazın token'ını iptal edin, hesabın geri kalanını etkilemeyin
$user->tokens()->where('name', )->delete();


Bizim başımıza gelenler

Bir süre önce, bir müşterimiz için üçüncü taraf bir analitik sağlayıcısına bağlantı sağladık. O dönemde sadece bir API token’ı verdik ve bunu yaparken kapsamı daraltmayı düşünmedik. İki yıl boyunca unutuldu. Sonunda, bu sağlayıcı saldırıya uğradı ve bizim token’ımız da onların sisteminin içinde sızdı.

Olay, bizim hatamız değildi; ama etkisiyle yüzleşmek zorunda kaldık. Token, sadece bazı verilere erişim sağlamakta değil, tüm müşteri kayıtlarına ulaşmada da kullanılabiliyordu. Bu durumda dar kapsamlar belirlemediğimiz için ne kadar zarar verebileceğimiz belirsizdi.


Neden bunu artık kendimiz yapmıyoruz

Token kimlik doğrulaması, altında yatan Laravel sürümüne göre sürekli değişebilecek birçok sorun içerebilir. Sanctum ve Passport’a geçiş, işleri basitleştirdi ve güvenli bir şekilde yönetmemizi sağladı. Kapsam, son kullanım tarihi ve iptal gibi işlevler zaten entegre durumda mevcut.


Kapsamlandırma çoğu kişinin atladığı bir aşama

Birçok geliştirici, token’ların başlangıçta düzgün bir şekilde kapsamlandırılmasını göz ardı ediyor. Bunun sebebi genellikle “sonradan sıkılaştırırız” düşüncesidir. Ancak bu erteleme genelde meydana gelmez. Her token’ı baştan itibaren özel yetkilerle vermek, bu işlemden elde edilen güvenliği artırır.


Sanctum ve Passport arasında seçim yapma

Seçim, ihtiyaçlarınıza bağlıdır. Sanctum, her iki ucu da kontrol ettiğiniz durumlarda idealdir. Passport ise dış bir tarafın kimlik bilgilerine ihtiyaç duyduğunuzda gereklidir. Her iki durumu da göz önünde bulundurmalısınız.

// Üçüncü taraf istemci kendini tanıtmalıdır, bir kullanıcı değil
Route::post('/oauth/token', [AccessTokenController::class, 'issueToken']);

// grant_type=client_credentials&client_id=...&client_secret=...&scope=orders:read
// Verilen kapsam ile bir route'u koruma
Route::middleware(['auth:api', 'scope:orders:read'])->get('/api/orders', [OrderController::class, 'index']);


Neler kazandık

Başlangıçta sağlanan kolaylık, zamanla kendini gösterecektir. Bir token ile fazla erişime sahip olduğunuz durumlarda, sorun yaşamadan önce denetim yapmanız gerekecektir. Sanctum veya Passport ile bu süreç hızlı ve güvenli bir hale gelir.

Bu konular hakkında daha fazla bilgi için ayrıntılı hikayemiz Substack hesabımızda mevcuttur: https://ucodesoft.substack.com/p/sanctum-and-passport-why-we-stopped

Kaynak: Orijinal Makale

Contents
  • İlk olarak bazı terimler
  • Kodda bu nasıl görünür
  • Bizim başımıza gelenler
  • Neden bunu artık kendimiz yapmıyoruz
  • Kapsamlandırma çoğu kişinin atladığı bir aşama
  • Sanctum ve Passport arasında seçim yapma
  • Neler kazandık
Laravel Query Gate ile Dakikalar İçinde Tam REST API’leri Oluşturun
Big Data (Büyük Veri) Nedir?
Laravel’de Backed Enum Nedir? Pure Enum ile Farkı Nedir?
Üretim Laravel Uygulamasını Yeniden Kullanılabilir bir Çekirdek Pakete Ayırmak (ve Pest’in Tespit Ettiği Hatalar)
PHP/Laravel’de Builder Tasarımı: Temiz ve Esnek Sipariş Nesneleri Oluşturma
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Samsung’un Z Fold ve Flip 8 Siparişlerinde 350 Dolar Değerinde Hediye Kartı Fırsatı
Sonraki Makale Kritik Uyarı: Ubuntu Snap-Confine Açığı ile Kullanıcılara Root Erişimi

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Çin’in Açık AI Modelleri, Silikon Vadisi’ni Zorluyor!
Genel
Riot Twisted Treeline ile ilgili yenilikler yapıyor ama klasik yok
Oyun
Nintendo’nun Shigeru Miyamoto Remake Projelerini Savunuyor
Oyun
OpenAI’nin Hatası: Hugging Face’in AI ile Hacklenmesi
Yapay Zeka
AMD, Anthropic’e 2 gigawatt MI450 GPU tedarik edecek, 5 milyar dolara kadar yatırım yapacak
Donanım
Apple, iPhone Ödemelerini Kaçıran Kullanıcılardan Uygulamaları Kapatabilir mi?
Liste
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?