Merhaba kolay gelsin , bugünlerde forum anasyafasında bunla ilgili birkaç soru okuyunca dikkatimi çekti forumu biraz araştırdım .
Ben Jetstream kullanıyorum inertia+vue ile birlikte hzılı bir başlangıç için iyiymiş gerçektende ama ileride %100 bir mobil uygulama geliştirebilmek istiyorum ve Sanctum SPA Authentication ile ilgili kısa bir araştırma ile ilgili kaç sorum olucak ama öncelikle bir kaç alıntı ile başlamak istiyorum
Sanctum ile hem session auth hem de token auth birlikte kullanabiliyorsunuz. Cookie içinde token araması ise size aynı domain altında çalışan bir SPA uygulamada klasik session auth özelliklerini kullanmanızı sağlıyor. Frontend login isteği attığında size bir token dönmüyor, tamam giriş yaptı deyip session ve cookie oluşturuyor, bir iki küçük ayar ile axios her istekte cookie içindeki token'ı isteğe otomatik ekliyor ve böylece SPA içinde klasik auth ile işlem yapmış gibi oluyorsunuz. Token al, kaydet vs ile uğraşmıyorsunuz.
Aynı domain altında hem backend hem de SPA frontend varsa (biri ya da hepsi subdomain olabilir, sonuçta aynı ana domain) ve frontend tarafında token auth ile uğraşmak istemiyorsanız Sanctum kullanın.
Sanctum'ın amacı aynı domain altında yer alan API ve frontend'in token ile cebelleşmeden cookie ile haberleşebilmesini sağlamaktı. Elbette bu API'ı başka bir yerden kullanan bir tüketici (mesela mobil uygulama) de olabileceği için içerisinde basit bir token-based auth da bulunuyor. Taylor'ın token kullanılması ile ilgili tepkisi şudur: Sanctum kullanacaksanız ve login olan tüketici aynı ana domain altında yer alıyorsa token-based kullanmamalısınız.
Hem SPA hem de mobile var bende, mobile rotalarım routes/api.php içinde, SPA rotalarım ise routes/web.php içinde. Mobil bir token ile bağlansın yeterli diyorsanız Sanctum kullanın.
Tamam Sanctum kullanıcam ama herkes Bir Sanctum yükleyerek POSTMAN diye bir uygulamayla istek gönderek çalışıp video çekmiş , Bir AuthController hazırlanıyor ve login register logout gibi metodlarla routes/api.php içinde endpointlere POSTMAN ile istek atıyor devamı yok genelde bu kadar gösteriliyor.
. Vue Clı kullanarak ayrı bir istemci oluşturmakdansa şu son alıntıladığım routes/api.php içinde, SPA rotalarım ise routes/web.php içinde mobil bir token ile bağlansın yeterli kısmındaki routes/web.php içinde rotaları anlamadım
laravel-sanctum-project-skeleton
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/login', 'Auth\AuthController@login');
Route::post('/login', 'Auth\AuthController@login');
Route::middleware(['auth:sanctum'])->group(function () {
Route::get('/users', 'UserController@index');
});
routes/api.php içinde githubda paylaşılmış çok güzel istek buraya atılacak POSTMAN ile çok güzelde çalışıyor diyelim ama ben web.php içinde Product , Task gibi listelemeler yaptığım rotalarım mevcut yada web php içinde veya Route::get('/users', 'UserController@index');
böyle bir rotam var bu rotaya middleware(['auth:sanctum']) koymak yeterlimi oluyor bir adam bir videoda laravele vue.js kuruyor vuex kuruyor vue router kuruyor öyle çalışıyor
mobile rotalarım routes/api.php içinde, SPA rotalarım ise routes/web.php içinde mobil bir token ile bağlansın yeterli diyorsam tüm bu teknolojileri yüklemem gerekmi ?
biraz karıştırdım farkındayım ama Hem SPA hem de mobile var bende, mobile rotalarım routes/api.php içinde, SPA rotalarım ise routes/web.php içinde. bunu uygulayan bir tek uygulama bir örnek olsa aydınlanıcam aslında