INERTIAJS, istemci tarafı bileşenlerine gerekli verileri ve yetkilendirme kontrollerini iletirken sunucu tarafı kimlik doğrulama mekanizmalarından ve politikalarından yararlanarak tek sayfalık uygulamalarda (SPA) kimlik doğrulama ve yetkilendirmeyi yönetir. SPA'larda tipik özel API'ler veya jeton tabanlı kimlik doğrulama sistemleri oluşturmanın karmaşıklıklarından kaçınır ve bunun yerine arka uç çerçevesi tarafından sağlanan geleneksel oturum tabanlı kimlik doğrulamaya dayanır.
ATERTIAJS spalarında kimlik doğrulama
ATERTIAJS kendi kimlik doğrulama sistemini sağlamaz. Bunun yerine, Laravel veya Rails'teki oturum tabanlı kimlik doğrulama gibi sunucu tarafında mevcut olan kimlik doğrulama sistemini kullanır. Bu, kimlik doğrulamasının öncelikle arka uç tarafından işlendiği ve atalet, kimlik doğrulama durumunu ve kullanıcı verilerini güvenli bir şekilde ön uca taşıyan bir köprü olarak işlev gördüğü anlamına gelir. Bu yaklaşım, geliştiricilerin tipik sunucu tarafı kimlik doğrulama iş akışlarının avantajlarını kaybetmeden SPA oluşturmalarını sağlar.
Bir kullanıcı kimlik doğrulaması gerektiren bir rotaya eriştiğinde, arka uç kontrolörü yönlendirmeleri işler. Örneğin, kimliği doğrulanmamış bir kullanıcı korunan bir rotaya erişmeye çalışırsa, sunucu bunları bir atalet bileşeni olarak oluşturulan bir giriş sayfasına yönlendirerek yanıt verir. Benzer şekilde, girişten sonra sunucu kullanıcıyı amaçlanan sayfaya yönlendirebilir.
Geliştiriciler, Atalet'in veri paylaşım yardımcılarını (Rails'teki `` inertia_share 'gibi) kullanarak mevcut bir kullanıcı nesnesini paylaşılan bir pervane olarak ileterek kimlik doğrulamalı kullanıcının bilgilerini arka uçtan ön uca paylaşır. Bu kullanıcı verileri, ATertia'nın `` `` `` `` `` `` `` `` `` `` `` kancası '' ile ön uç bileşenlerinde erişilebilir hale gelir, burada bileşenlerin ayrı bir istemci tarafı kimliği kontrollerine ihtiyaç duymadan kimlik doğrulama durumuna veya kullanıcı ayrıntılarına göre reaktif olarak oluşturulabileceği.
Oturum açmak için, giriş formu kimlik bilgileriyle arka ucuna gönderilir. Arka uç kullanıcıyı doğrular, bir oturum başlatır ve uygun sayfaya yönlendirir. Geçersiz kimlik bilgileri gibi hatalar, hata mesajlarıyla bir yönlendirmeyi geri tetikler. Tüm bunlar, arka uçun ATERTIA'nın ön uç bileşenlerine yanıt ve flaş mesajları sunma yeteneği ile birleştiğinde yapılır. İstemci tarafı işlemesi, öncelikle form durumuna ve mesajları görüntülemeye odaklanan minimaldir.
Geliştiriciler, atalet yoluyla paylaşılan tüm desteklere müşteri tarafında tam olarak erişilebildiğinden, müşteriye paylaşılan verileri dikkatlice değerlendirmeleri konusunda uyarılır. Güvenlik ve performansı artırmak için paylaşılan sahnelerde kayıt zaman damgası gibi hassas veya gereksiz bilgilerden kaçınılmalıdır.
Yetkilendirme İşleme
ATERTIAJS'deki yetkilendirme çoğunlukla arka uç çerçevesinin politikaları veya kapı mekanizmaları kullanılarak sunucu tarafında yönetilir. Atalet, ön uç ve arka uç arasında bir proxy olduğundan, eylemlere veya verilere erişime izin vermek veya reddetmek için arka uç yetkilendirme mantığına dayanır.
Yetkilendirme durumunu ön uç bileşenlerinde kullanılabilir hale getirmek için, geliştiriciler tipik olarak sunucudaki yetkilendirme izinlerini değerlendirir ve sonuçları atalet sahne ile ön uçlara aktarırlar. Örneğin, bir Laravel uygulamasında, denetleyici yöntemleri, her öğenin bir kaynak oluşturma veya düzenleme gibi eylemler için kullanıcının izinlerini belirten bir `Can 'nesnesi içerdiği veri nesnelerini döndürür.
Bu desen, ön uç görünümlerinin kullanıcı izinlerine dayalı düğmeler veya bağlantılar gibi kullanıcı arayüzü öğelerini koşullu olarak oluşturmasına izin verirken, arka uçun yetkilendirme için gerçeğin kaynağı olmasını sağlar. Bu, birisi kullanıcı arayüzünü atlar ve doğrudan arka uç rotalarını aramaya çalışırsa tutarsız durumları veya yetkisiz eylemleri önler.
Genel olarak, bu yaklaşım, uygulamanın hassas kısımlarını sağlam arka uç yetkilendirme kontrolleriyle korurken, ön uç bileşenlerini basit ve kullanıcı arayüzüne odaklanır.
Entegrasyon Avantajları ve Geliştirici Deneyimi
ATERTIAJS kimlik doğrulamasını ve yetkilendirmeyi arka uç kaygıları olarak ele aldığından, geliştiriciler bu işlevler için mevcut sunucu tarafı altyapısını ve kütüphanelerinden yararlanabilir. Bu aynı zamanda hız sınırlama, oturum süresi sona erme veya karmaşık kimlik doğrulama akışları gibi ortak özelliklerin sunucuda merkezi olarak yönetildiği anlamına gelir.
ATRIAJS etkin uygulamalar spa olarak görünür, ancak Auth ve Yetkilendirme için kaputun altında geleneksel sunucu tarafı uygulamaları gibi davranır. Bu, ön uç jeton depolama veya istemci tarafı Auth durum yönetimi ihtiyacını azaltarak geliştirici deneyimini basitleştirir.
Atalet'in veri paylaşımı ve yönlendirmesi, React, Vue veya Svelte gibi ön uç çerçevelerde kimliği doğrulanmış durum ve yetkilendirme kontrollerini sorunsuz bir şekilde kullanılabilir hale getirir. Oturum açma veya oturum açma, sunucu tarafı oturum güncellemelerini tetikleme ve uygun rota yönlendirmeleri veya bileşen güncellemeleri gibi kimlik doğrulama durumundaki değişiklikler.
SPA'ya özgü zorlukların işlenmesi
SPA geliştiricileri tipik olarak jeton taşıma, API kimlik doğrulaması, CORS ve oturum senkronizasyonu gibi zorluklarla karşı karşıyadır. ATERTIAJS bunları arka ucun aynı alanda oturum tabanlı kimlikadını kullanarak atlatarak, ön uçtaki çapraz orijin sorunlarından ve jeton yönetiminden kaçınır.
Örneğin, Laravel Sanctum'u kullanan bir atalet uygulaması, bir oturum çerezini farklı alt alanlarda veya uygulamanın alanlarında paylaşabilir, bu da başlıklarda veya yerel depolama alanında manuel token enjeksiyonu olmadan sorunsuz kimliği doğrulanmış API çağrılarına ve veri getirilmesine izin verebilir.
Geliştiriciler, tüm bu davranışlar atalet istekleri ve sunucu yanıtları yoluyla oluşturulduğundan ve kontrol edildiğinden, giriş hatalarını, oturum zaman aşımlarını veya yetkilendirilmemiş kullanıcıları kolayca oturum açma sayfalarına yönlendirebilir.
Mekanizmaların Özeti
- Kimlik doğrulama sunucu tarafında geleneksel oturum tabanlı yöntemlerle gerçekleştirilir.
- Atalet, mevcut kullanıcı verilerini paylaşır ve Auth Station Sunucudan ön uçlara sahne olarak durumu paylaşır.
- Oturum açma/oturum açma akışları, atalet oluşturulan bileşenlerle yanıt veren sunucu denetleyicileri aracılığıyla işlenir.
- Yetkilendirme kararları sunucu tarafı alınır ve ön uçta desteklerde boole bayrakları olarak geçirilir.
- Ön uç bileşenleri, izinlere dayalı olarak kullanıcı arayüzünü koşullu olarak oluşturmak için bu destekleri kullanır.
- Müşteriye OAuth veya jeton yönetimine gerek yok; Oturum çerezleri kullanılır.
- Veri paylaşımı, paylaşılan sahnelerde maruz kalanları sınırlandırarak dikkatlice kontrol edilir.
Bu mimari, geliştiricilerin sağlam, güvenli ve tanıdık sunucu merkezli kimliği korurken ve erişim kontrolünü sürdürürken pürüzsüz ön uç deneyime sahip reaktif, modern kaplıcalar oluşturmalarını sağlar. Tam API tabanlı kimlik doğrulama ve yetkilendirme stratejilerinin karmaşıklığını tanıtmadan geleneksel multip sunucu uygulamaları ve modern JavaScript ön uçlar arasındaki boşluğu doldurur. Yaklaşım, kalkınma verimliliğini, güvenlik ve uygulama sürdürülebilirliğini en üst düzeye çıkarır.
Tüm bu noktalar resmi atalet belgeleri, topluluk blogları ve Laravel ve Rails gibi arka uç çerçevelerine sahip özel uygulamalarda belgelenmiştir.