Sanctum’u şu ana kadar 8 veya 9 Laravel projesinde kurdum — bordro sistemleri, SaaS araçları, e-ticaret API’leri. Genellikle bir junior geliştiriciyi işe alırken veya herhangi birinin kodunu gözden geçirirken, aynı 3-4 hatayı tekrar tekrar görüyorum. İşte bu hataları önleyecek bir kurulum ve sorunları çözmenin yolları.
<hr/>
<h2>
<a name="first-what-sanctum-actually-does" href="#first-what-sanctum-actually-does"></a>
İlk olarak: Sanctum ne yapar?
</h2>
<p>Sanctum, düz metin bir token üretir, bunu <code>personal_access_tokens</code> tablosunda hashlenmiş haliyle saklar ve her istekte veritabanında doğrulama yapar. Bu kadar basit. JWT, imza yok, çözümleme yok — sadece bir veritabanı kaydı.</p>
<p>Bu durum, token iptali Sanctum ile oldukça kolay, JWT ile ise karmaşık hale gelir. Satırı silin, token anında geçersiz olur.</p>
<hr/>
<h2>
<a name="the-setup-laravel-12" href="#the-setup-laravel-12"></a>
Kurulum (Laravel 12)
</h2>
<p><strong>Adım 1 — Kurulum (Sadece Laravel 10 ve altı için)</strong></p>
<p>Laravel 11 ve 12, Sanctum ile birlikte gelir. Eğer 10 kullanıyorsanız:<br/></p>
<div class="highlight js-code-highlight">
<pre class="highlight shell"><code>composer require laravel/sanctumphp artisan vendor:publish –provider=”Laravel\Sanctum\SanctumServiceProvider”
php artisan migrate
<p><strong>Adım 2 — User modelinize trait ekleyin</strong></p>
<p>Genellikle çoğu kişinin unuttuğu bir adım:<br/></p>
<div class="highlight js-code-highlight">
<pre class="highlight php"><code>use Laravel\Sanctum\HasApiTokens;class User extends Authenticatable
{
use HasApiTokens;
}


