Laravel Sanctum ile Kimlik Doğrulama
SPA ve mobil istemciler için Sanctum kullanarak API belirteçleri oluşturun ve doğrulayın.
Laravel Sanctum ile Kimlik Doğrulama, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
Sanctum Nedir?
Laravel Sanctum, SPA uygulamaları ve mobil istemciler için basit, belirteç tabanlı bir kimlik doğrulama sistemi sağlar. Hem API belirteçlerini hem de birinci taraf SPA uygulamaları için oturum tabanlı kimlik doğrulamayı destekler.
Sanctum'ı Kurma
Sanctum'ı kurun ve yapılandırın.
$ composer require laravel/sanctum
$ php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
$ php artisan migrateBelirteç Verme
Kimlik bilgilerini doğruladıktan sonra bir kullanıcı için kişisel erişim belirteci oluşturun.
<?php
Route::post("/login", function (Request $request) {
$request->validate(["email" => "required", "password" => "required"]);
$user = User::where("email", $request->email)->first();
if (!$user || !Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
"email" => ["The provided credentials are incorrect."],
]);
}
$token = $user->createToken("mobile-app")->plainTextToken;
return response()->json(["token" => $token]);
});HasApiTokens Özelliği
Belirteç yönetimini etkinleştirmek için HasApiTokens özelliğini User modelinize ekleyin.
<?php
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
}Rotaları Koruma
API rotalarını korumak için auth:sanctum ara yazılımını kullanın.
<?php
// routes/api.php
Route::middleware("auth:sanctum")->group(function () {
Route::get("/user", fn(Request $r) => $r->user());
Route::apiResource("posts", PostController::class);
});Belirteci Gönderme
İstemciler belirteci Authorization üst bilgisinde Bearer belirteci olarak gönderir.
# HTTP header:
Authorization: Bearer 1|AbCdEf1234567890...Belirteç Kapsamları (Yetenekler)
Gerçekleştirebilecekleri işlemleri kısıtlamak için belirteçlere yetenekler atayın.
<?php
// Create token with abilities:
$token = $user->createToken("mobile", ["read:posts", "write:comments"])->plainTextToken;
// Check ability:
if ($user->tokenCan("write:comments")) {
// allowed
}Belirteçleri İptal Etme
Belirli bir belirteci veya tüm belirteçleri silin (tüm cihazlardan çıkış yapın).
<?php
// Revoke current token (logout):
$request->user()->currentAccessToken()->delete();
// Revoke all tokens (logout everywhere):
$request->user()->tokens()->delete();Belirteçlerin Süresinin Dolması
Belirteçlerin geçerlilik süresini config/sanctum.php içinde ayarlayın. Belirteçler last_used_at değerine ve geçerlilik süresi penceresine göre denetlenir.
// config/sanctum.php
"expiration" => 60 * 24 * 7, // 7 days in minutesSPA Kimlik Doğrulaması
Aynı alan adını kullanan SPA uygulamalarında Sanctum, belirteçler yerine oturum tabanlı kimlik doğrulamayı kullanabilir. Önce /sanctum/csrf-cookie çağrısını yapın, ardından normal oturum açma işlemini kullanın.
Sanctum ve Passport Karşılaştırması
Sanctum: basit API belirteçleri ve SPA kimlik doğrulaması. Passport: yetkilendirme kodları, istemci kimlik bilgileri ve yenileme belirteçleri içeren tam bir OAuth2 sunucusu. Sanctum ile başlayın; yalnızca OAuth2'ye ihtiyacınız varsa Passport'a geçin.
Özet
Sanctum, API kimlik doğrulaması için Bearer belirteçleri verir. User modeline HasApiTokens ekleyin. Rotaları auth:sanctum ile koruyun. Oturum kapatıldığında belirteçleri iptal edin. İzinlerin kapsamını belirlemek için yetenekleri kullanın.
Hızlı Kontrol
İstemci, Sanctum belirtecini API isteklerine nasıl ekler?
Sıkça Sorulan Sorular
“Laravel Sanctum ile Kimlik Doğrulama” dersi ücretsiz mi?
Evet — “Laravel Sanctum ile Kimlik Doğrulama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“Laravel Sanctum ile Kimlik Doğrulama” dersinde ne öğreneceğim?
SPA ve mobil istemciler için Sanctum kullanarak API belirteçleri oluşturun ve doğrulayın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Laravel Sanctum ile Kimlik Doğrulama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- API Rotaları ve Kaynak Denetleyicileri
- API Kaynakları ve JSON Yanıtları
- Laravel Sanctum ile Kimlik Doğrulama
- İstek Sınırlama ve API Sürümleme