Inertia.js'nin tek sayfalı uygulamalarda (SPA'lar) kimlik doğrulama ve yetkilendirmeyi şu şekilde yönettiğini görebilirsiniz:
Kimlik Doğrulama
1. Inertia.js, OAuth gibi özel bir kimlik doğrulama sistemi gerektirmez. Bunun yerine, Laravel'deki oturum tabanlı kimlik doğrulama sistemi gibi, sunucu tarafı çerçeveniz tarafından sağlanan kimlik doğrulama sistemini kullanmanıza olanak tanır. [3]
2. Laravel'in başlangıç kitleri Breeze ve Jetstream, kimlik doğrulama işlevselliği de dahil olmak üzere yeni Inertia.js uygulamaları için kullanıma hazır iskele sağlar. [3]
3. Inertia.js bileşenlerinizdeki kimliği doğrulanmış kullanıcıya erişmek için, kimliği doğrulanmış kullanıcıyı sayfalarınıza destek olarak iletmek üzere `Inertia.share()` yöntemini kullanabilirsiniz. [4]
Yetki
1. Kaynak türlerine dayalı yetkilendirme için (örneğin, kullanıcı gönderiler modülünü görüntüleyebilir mi veya yeni bir gönderi oluşturabilir mi), yetkilendirme kontrollerini Inertia.js sayfa bileşenlerinize destek olarak iletebilirsiniz. [1] [2]
2. Belirli kaynak varlıklarına yönelik yetkilendirmeyi kontrol etmek için (örneğin, kullanıcı belirli bir gönderiyi düzenleyebilir mi), Eloquent modellerinize o varlık için yetkilendirme kontrollerini içeren bir "izinler" özelliği ekleyebilirsiniz. Daha sonra bu "izinler" verilerini Inertia.js bileşenlerinize destek olarak aktarabilirsiniz. [4]
3. Anahtar, sunucu tarafında yetkilendirme kontrollerini gerçekleştirmek ve ardından sonuçları Inertia.js bileşenlerinize destek olarak iletmektir. Bu, yetkilendirme mantığının istemci tarafında kurcalanabilecek şekilde açığa çıkmamasını sağlar. [4]
4. Inertia.js kendi yetkilendirme sistemini sağlamaz, bunun yerine sunucu tarafı çerçevenizin (örneğin, Laravel'in Kapısı ve Politikaları) yetkilendirme sistemiyle bütünleşir. [4]
Özetle, Inertia.js, sunucu tarafı çerçevenizin kimlik doğrulama sisteminden yararlanarak kimlik doğrulamayı yönetir ve sunucu tarafında kontrolleri gerçekleştirerek ve sonuçları Inertia.js bileşenlerinize destek olarak ileterek yetkilendirmeyi gerçekleştirir. Bu yaklaşım, kimlik doğrulama ve yetkilendirme mantığının sunucu tarafında güvenli tutulmasını sağlar.
Alıntılar:[1] https://inertiajs.com/authorization
[2] https://legacy.inertiajs.com/authorization
[3] https://inertiajs.com/authentication
[4] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[5] https://www.youtube.com/watch?v=1xHfpDhuPzA