Fortify & Sanctum ile SPA oluşturma

Sorumdanda anlaşılacağı üzere Laravel ve vue ikilisinde oldukça yeniyim . Vue , Vue router , vuetify ile en temel şekilde bir single-page application 'ı anlayarak oluşturmaya çalışıyorum . Dökümantasyonda Laravel Fortify & Laravel Sanctum bölümünde şöyle bir ifade kullanılmış

If you are attempting to manually build the authentication layer for an application that offers an API or serves as the backend for a single-page application, it is entirely possible that you will utilize both Laravel Fortify (for user registration, password reset, etc.) and Laravel Sanctum (API token management, session authentication).

Kısaca Türkçesi Sanctum ile laravel fortify kullanılması mümkündür , hatta sanırım Sanctum dökümantasyonundada buna yakın bir ifade var . Tüm ayarlamaları dökümantosyandan ilerleyerek hallettim şu anda login.vue ve register.vue dosyalarının frontend tarafıyla uğraşıyorum ancak aklıma takılan bir konuyu danışmak istedim .
Fortify ile gelen tüm görünümleri fortify.phpde wiews = false olarak ayarlansa ve Features kısmı yorum satırına alınsa dahi ,genede bana fortify ile login yada register kullanabilmem için route gerekli

POST | login | Laravel\Fortify\Http\Controllers\AuthenticatedSessionController@store |
| POST | logout | Laravel\Fortify\Http\Controllers\AuthenticatedSessionController@destroy |
| POST | register | Laravel\Fortify\Http\Controllers\RegisteredUserController@store |

Dökümantasyondaki fortify kullanabilirsiniz ifadesi olmasa idi bu yukardaki fortify alt yapısına ait login ve register yollarını gerekli Controller oluşturduktan sonra api.php içinde tanımlar ve artık axios isteği axios.post(’/api/login şeklinde yada axios.post(’/api/register şeklinde ilerliyebilirdim . Şimdi isteklerimi , en azından login ve register isteğimi direkt olarak hiç api path’ini dahil etmeden axios.post(’/login olarak mı atmalıyım ? , biraz kafam karıştı açıkçası

Fortify kullanmadım ama bildiğim kadarıyla vue için pek uygun olmayacaktır. API yazmak için sanctum daha uygun. Nedenine gelince; fortify session bazlı çalışıyor sanctum da benzer yapıda fakat istersen dökümandaki mobile application kısmını uygulayabilirsin. https://laravel.com/docs/8.x/sanctum#mobile-application-authentication bu bildiğimiz restful api - client ilişkisini sunuyor.

Eğer inertia gibi bir sistem kullanmayı düşünürsen, jetstream diye bir boilerplate yapı sunuyor incelemeni öneririm. Bunun içerisinde fortify kullanılıyor çünkü bu da session bazlı çalışıyor, standart restful api - client ilişkisi yok burada. Fortify bu tarz web uygulamaları için tasarlanmış biraz.

1 Beğeni

Peki sağolun . Yanıt için çok teşekkür ederim.