Laravel 7 REST API middleware and Authentication hakkında?

dev18

2 ay önce

Merhabala arkadaşlar;

Kullanıcı kimlik doğrulaması (Authentication ) için Sentinel kullanarak oldukça basit bir Laravel uygulamam var. Sayfalar, veri ekleyen sunucu tarafı PHP koduyla blade görünümleri olarak oluşturuyorum...

Ayrıca, aynı verilere diğer sistemler tarafından erişilmesini sağlayan basit bir username/token sistemi tarafından korunan bir REST API var. Bu REST APı'yı kullanarak HTML sayfaları dönüştürmek istiyorum. Amacım tarayıcı tarafında değil sunucu tarafında bunları yapmak. 

Kullanıcının kimliğini doğrulamak için API ara katman yazılımını kullanmanın doğru yolu nedir?

Bildiğim kadarıyla seçeneklerim şunlar; 

  • Tarayıcının her REST API çağrısına gerekli username/token başlıklarını eklemesini sağlamak.
  • Varsa, bu başlıkları kullanacak özel API ara katman yazılımımı değiştirin, aksi takdirde geçerli bir oturumda olup olmadığımızı görmek için Sentinel Auth kullanmaya geri dönün.

İkinci denedim, ancak bir API yolu ile kullanıldığında Sentinel kullanıcının kimliğini doğrulayamıyor.

if (!$request->hasHeader('X-WC-User')) // if no user header, check if we're logged in normally.
    {
return app(CentaurMiddlewareSentinelAuthenticate::class)->handle($request,$next)
}
else...

Bunun nedeni API ara katman yazılımı grubunun oturumları desteklememesi. Tüm API rotalarımı web.php içindeki ayrı URL'lere çoğaltabilirim ama bu kötü bir çözüm gibi görünüyor.

Bu konuda fikri olan arkadaşlar varsa sevinirim.

#php #Laravel