Laravel Sanctum ile API Geliştirme: 6. Gün
Merhaba arkadaşlar! Bugün Laravel Sanctum kullanarak API geliştirmenin detaylarına ineceğiz. Önceki yazılarımda Laravel’in temel özelliklerini ele almıştık. Şimdi ise güvenli ve verimli API’ler oluşturmanın yolculuğunda bir adım daha ilerleyeceğiz. Sanctum, Laravel’in sunduğu güçlü bir araçtır ve özellikle SPA (Single Page Application) ve mobil uygulamalar için idealdir. Bu yazıda, Sanctum’ın nasıl kurulacağını, nasıl kullanılacağını ve güvenlik önlemlerini ele alacağız. Hazırsanız başlayalım!
Sanctum Kurulumu ve Yapılandırması
Öncelikle, Laravel projenize Sanctum paketini eklemeniz gerekiyor. Bunun için Composer kullanabilirsiniz:
composer require laravel/sanctum
Paket yüklendikten sonra, Sanctum’ı Laravel projenize kaydetmeniz gerekir. Bu işlemi php artisan sanctum:install komutu ile gerçekleştirebilirsiniz. Bu komut, gerekli migration dosyalarını oluşturur ve routes/api.php dosyasına bazı temel rotalar ekler. Ardından migration dosyalarını veritabanınıza uygulamanız gerekir:
php artisan migrate
Son adımda, config/sanctum.php dosyasını inceleyerek özel ihtiyaçlarınıza göre yapılandırma yapabilirsiniz. Örneğin, hangi stateful domain’leri kullanacağınızı buradan belirleyebilirsiniz.
API Rotalarının Oluşturulması
Sanctum ile korumalı API rotalarını oluşturmak oldukça kolaydır. api.php dosyasında Route::middleware(['auth:sanctum'])->group(function () { ... }); bloğu içerisinde rotalarınızı tanımlayabilirsiniz. Bu, sadece yetkilendirilmiş kullanıcıların bu rotalara erişebileceği anlamına gelir.
Örnek bir rota tanımlaması:
get('/user', function (Request $request) {
return $request->user();
});
?>
Bu rota, giriş yapmış kullanıcının bilgilerini döndürür. auth:sanctum middleware’i, giriş yapmış kullanıcının geçerli bir token’a sahip olup olmadığını kontrol eder.
API Token Oluşturma ve Kullanımı
Kullanıcılar API’ye erişmek için bir token’a ihtiyaç duyarlar. Sanctum ile token oluşturma işlemi oldukça basittir. Kullanıcı giriş yaptıktan sonra, Sanctum otomatik olarak bir token oluşturur ve bunu kullanıcıya iletebilirsiniz. Bu token, HTTP header’ında Authorization: Bearer {token} şeklinde gönderilmelidir.
Daha fazla ayrıntı ve örnek kodlar için Laravel Sanctum dökümanlarını inceleyebilirsiniz. Ayrıca, kendi geliştirmelerimde sıklıkla başvurduğum kaynaklardan biri de fatihsoysal.com adresindeki makalelerdir.
Güvenlik Önlemleri
Sanctum’ı kullanırken güvenliği sağlamak için bazı önlemler almalısınız. Örneğin, tokenlerinizi güvenli bir şekilde saklamalı ve token süresini doğru bir şekilde yönetmelisiniz. Ayrıca, tokenlerinizin çalınması durumunda bunları iptal edebilmeniz önemlidir. Bu konuda Sanctum, token iptal etme gibi önemli özellikler sunmaktadır.
Bu makalede, Laravel Sanctum ile API geliştirmenin temel adımlarını ele aldık. Umarım bu bilgiler sizin için faydalı olmuştur. Daha fazla sorunuz varsa, yorumlarda sormaktan çekinmeyin. Bir sonraki yazıda görüşmek üzere!
Fatih Soysal
#Etiketler: Laravel, Sanctum, API, API Geliştirme, Güvenlik, Token, Laravel Sanctum Kurulumu, Laravel Sanctum Kullanımı, API Rotaları, Stateful Domain, Middleware, Auth:Sanctum