Home Paket Belajar Bootcamp Instruktur

Tutorial Laravel 13 REST API Authentication #2 – Install Laravel API

Panduan lengkap membuat REST API authentication di Laravel 13. Dalam tutorial ini, teman-teman akan belajar membuat fitur register, login, logout, dan mendapatkan informasi user yang sedang login menggunakan API, lengkap dengan validasi dan penanganan error. Cocok untuk pemula yang ingin memahami autentikasi berbasis API di Laravel.

✅ Telah dilihat 552 kali

Rating: 5.00 ⭐

... 18 March 2026, 10:41

Install Laravel API

Sejak Laravel 11, konfigurasi bawaan untuk API tidak lagi otomatis disertakan saat kita membuat proyek baru. Jadi, jika kita ingin menggunakan API di proyek Laravel, kita perlu menambahkannya secara manual.

Untuk itu, silakan jalankan perintah berikut di terminal:

php artisan install:api

Perintah ini akan menginstal modul-modul yang dibutuhkan untuk API, termasuk:

  • File konfigurasi yang diperlukan,
  • Middleware,
  • Struktur rute untuk API.

Setelah dijalankan, terminal akan menampilkan proses seperti berikut:

./composer.json has been updated
Running composer update laravel/sanctum
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking laravel/sanctum (v4.3.1)
...
Generating optimized autoload files
> @php artisan package:discover --ansi
...
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO  Published API routes file.

Pada akhir proses, Laravel biasanya akan menanyakan apakah Anda ingin menjalankan migrasi tambahan. Silakan ketik yes dan tekan Enter. Contohnya:

One new database migration has been published. Would you like to run all pending database migrations? (yes/no) [yes]:
> yes

INFO  Running migrations.
2026_03_18_020515_create_personal_access_tokens_table ................................................. 55.22ms DONE

Migrasi ini akan membuat tabel yang dibutuhkan untuk API, misalnya tabel tokens jika kita menggunakan Laravel Sanctum untuk otentikasi API.

Terakhir, Laravel akan menampilkan informasi:

INFO  API scaffolding installed. Please add the [Laravel\Sanctum\HasApiTokens] trait to your User model.

Ingat, kita perlu menambahkan trait HasApiTokens pada model User agar fitur token API bisa digunakan.


Konfigurasi CSRF untuk API

Secara default, Laravel melindungi semua rute dengan CSRF token. Namun, untuk API, CSRF sering kali tidak diperlukan karena API biasanya diakses oleh aplikasi eksternal seperti frontend JavaScript atau aplikasi mobile.

Untuk mengecualikan token CSRF pada rute API, buka file bootstrap/app.php lalu tambahkan kode berikut:

->withMiddleware(function (Middleware $middleware) {
    $middleware->PreventRequestForgery(except: [
        '/api/*',
    ]);
})

Kode ini memastikan semua rute yang diawali /api/* tidak akan dicek CSRF-nya, sehingga klien eksternal bisa melakukan request tanpa masalah.

Perubahan CSRF Middleware di Laravel 13

Pada Laravel 13, middleware CSRF mengalami perubahan nama dan perilaku:

  1. Nama Middleware Baru Middleware sebelumnya dikenal sebagai:

    • VerifyCsrfToken
    • ValidateCsrfToken (alias lama)

    Sekarang diganti menjadi:

    PreventRequestForgery
    

    Alias lama tetap ada untuk kompatibilitas, tapi sudah deprecated, jadi sebaiknya jangan lagi digunakan di kode baru.

  2. Fitur Baru: Request-Origin Verification Laravel 13 menambahkan cek origin request menggunakan header:

    Sec-Fetch-Site
    

    Artinya, Laravel bisa memverifikasi apakah request berasal dari sumber yang sama atau bukan, sehingga perlindungan CSRF lebih kuat.

  3. Dampak pada Rute dan Test Jika kalian sebelumnya menulis:

    Route::middleware('VerifyCsrfToken')->group(function() {
        // rute
    });
    

    Maka di Laravel 13 sebaiknya diubah menjadi:

    Route::middleware('PreventRequestForgery')->group(function() {
        // rute
    });
    

    Begitu juga pada test, jika ingin mengecualikan CSRF, gunakan PreventRequestForgery alih-alih VerifyCsrfToken.

Setelah itu, file app.php secara keseluruhan akan terlihat seperti ini:

<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->PreventRequestForgery(except: [
            '/api/*',
        ]);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();

Dengan begitu, API kita siap untuk digunakan.

Pada materi berikutnya, kita akan mulai membuat Auth Controller untuk mengelola registrasi, login, dan token API.

Daftar eBook