Inertia, Laravel'in yerleşik kimlik doğrulama özelliklerinden yararlanarak ve bunları Inertia'nın tek sayfalı uygulama (SPA) mimarisiyle sorunsuz çalışacak şekilde genişleterek Laravel ile kullanıcı kimlik doğrulamasını yönetir. İşte önemli noktalar:
1. Laravel'in Varsayılan Kimlik Doğrulamasını Kullanma:
- Atalet, Laravel'in varsayılan oturum tabanlı kimlik doğrulamasını kullanır; bu, kullanıcıların kimliklerinin Laravel'in yerleşik kimlik doğrulama mekanizmaları kullanılarak doğrulandığı anlamına gelir.
- Bu yaklaşım, Inertia'nın Laravel'in kimlik doğrulama sistemiyle doğrudan etkileşime girebilmesi nedeniyle kimlik doğrulama için ayrı bir API oluşturma ihtiyacını ortadan kaldırır[1][2][3].
2. Kimliği Doğrulanmış Kullanıcıyı Paylaşma:
- Ataletin "paylaşım" yöntemi, kimliği doğrulanmış kullanıcıyı ön uçla paylaşmak için kullanılır. Bu, ön ucun kullanıcı nesnesine erişmesine ve onu yetkilendirme kontrolleri için kullanmasına olanak tanır[2].
3. Yetkilendirme Kontrolleri:
- Yetkilendirme kontrolleri ön uçta Inertia tarafından paylaşılan kullanıcı nesnesi kullanılarak gerçekleştirilir. Bu, ön ucun, kullanıcının izinlerine[2] dayalı olarak içeriği dinamik olarak görüntüleyebilmesini veya gizleyebilmesini sağlar.
4. Verileri Dönüştürme:
- Yetkilendirme kontrolleri için veri dönüşümü çok önemlidir. Inertia'nın "paylaşım" yöntemi, verileri ön uca ulaşmadan önce dönüştürmek için kullanılabilir, bu da karmaşık yetkilendirme gereksinimlerinin üstesinden gelmeyi kolaylaştırır[2].
5. Başlangıç Kitleri:
- Laravel, kimlik doğrulamayı yeni Laravel uygulamanıza dahil etmek için güzel tasarlanmış başlangıç noktaları sunan Laravel Breeze ve Laravel Jetstream gibi başlangıç kitleri sağlar. Bu kitler, Livewire veya Inertia tabanlı iskele seçeneklerini içerir ve kimlik doğrulamayı Inertia uygulamanızla entegre etmenizi kolaylaştırır[4].
Bu özelliklerden yararlanan Inertia, Laravel ile kullanıcı kimlik doğrulamasını ele almanın kesintisiz ve etkili bir yolunu sunarak geliştiricilerin kimlik doğrulama ve yetkilendirmenin karmaşıklıkları hakkında endişelenmeden uygulamalarını oluşturmaya odaklanmasına olanak tanır.
Alıntılar:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-is-logged-in