Skip to content

Commit fe37480

Browse files
committed
feat(middleware): apply optional sanctum auth middleware for guest routes
1 parent 985bb50 commit fe37480

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

bootstrap/app.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
'ability' => \App\Http\Middleware\CheckTokenAbility::class,
1919
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
2020
'api.logger' => \App\Http\Middleware\ApiLogger::class,
21+
'optional.sanctum' => \App\Http\Middleware\OptionalSanctumAuthenticate::class,
2122
]);
2223
})
2324
->withExceptions(function (Exceptions $exceptions): void {

routes/api_v1.php

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,20 @@
1919
Route::post('/auth/logout', \App\Http\Controllers\Api\V1\Auth\LogoutController::class)->name('api.v1.auth.logout');
2020
});
2121

22-
// Article Routes (Public)
23-
Route::prefix('articles')->group(function () {
24-
Route::get('/', \App\Http\Controllers\Api\V1\Article\GetArticlesController::class)->name('api.v1.articles.index');
25-
Route::get('/{slug}', \App\Http\Controllers\Api\V1\Article\ShowArticleController::class)->name('api.v1.articles.show');
26-
Route::get('/{article:slug}/comments', \App\Http\Controllers\Api\V1\Article\GetCommentsController::class)->name('api.v1.articles.comments.index');
22+
// Public Routes
23+
Route::middleware(['optional.sanctum'])->group(function () {
24+
// Article Routes
25+
Route::prefix('articles')->group(function () {
26+
Route::get('/', \App\Http\Controllers\Api\V1\Article\GetArticlesController::class)->name('api.v1.articles.index');
27+
Route::get('/{slug}', \App\Http\Controllers\Api\V1\Article\ShowArticleController::class)->name('api.v1.articles.show');
28+
Route::get('/{article:slug}/comments', \App\Http\Controllers\Api\V1\Article\GetCommentsController::class)->name('api.v1.articles.comments.index');
29+
});
30+
31+
// Category Routes
32+
Route::get('categories', \App\Http\Controllers\Api\V1\Category\GetCategoriesController::class)->name('api.v1.categories.index');
33+
34+
// Tag Routes
35+
Route::get('tags', \App\Http\Controllers\Api\V1\Tag\GetTagsController::class)->name('api.v1.tags.index');
2736
});
2837

29-
// Category Routes (Public)
30-
Route::get('categories', \App\Http\Controllers\Api\V1\Category\GetCategoriesController::class)->name('api.v1.categories.index');
31-
32-
// Tag Routes (Public)
33-
Route::get('tags', \App\Http\Controllers\Api\V1\Tag\GetTagsController::class)->name('api.v1.tags.index');
3438
});

0 commit comments

Comments
 (0)