course-net
Search
Close this search box.

Home >

Cara Mengintegrasikan Laravel Sanctum dalam Aplikasi Web

Thursday, 19 October 2023 3:18 PM

Laravel Sanctum

Mengintegrasikan Laravel Sanctum dalam aplikasi web Anda adalah langkah penting untuk memastikan keamanan dan otorisasi dalam lingkungan berbasis API.

Dengan semakin meningkatnya permintaan akan aplikasi berbasis API yang kuat, pemahaman tentang cara mengamankan dan mengelola akses ke sumber daya menjadi lebih krusial daripada sebelumnya.

Mengenal Laravel Sanctum

Laravel Sanctum adalah sebuah paket autentikasi API yang kuat yang memungkinkan Anda mengamankan dan mengelola autentikasi pengguna serta otorisasi dalam aplikasi web berbasis Laravel yang menggunakan API.

Beberapa fitur kunci dari Laravel Sanctum meliputi:

1. Token Authentication

Sanctum memungkinkan Anda membuat dan mengelola token autentikasi yang digunakan untuk mengotentikasi pengguna dalam aplikasi.

2. Personal Access Tokens

Anda dapat dengan mudah membuat personal access tokens yang memberikan akses terbatas ke fitur-fitur tertentu dalam aplikasi, seperti API endpoints tertentu.

3. Stateful Authentication

Sanctum menyediakan autentikasi stateful yang memungkinkan Anda membuat session autentikasi untuk pengguna. Ini berguna untuk aplikasi web yang juga memiliki fitur autentikasi berbasis cookie.

4. Cross-Origin Request Forgery (CSRF) Protection

Laravel Sanctum menyediakan perlindungan terhadap serangan CSRF saat menggunakan autentikasi berbasis cookie.

5. Middleware dan HTTP Requests

Anda dapat menggunakan middleware Sanctum untuk mengamankan route tertentu dan mengontrol akses ke sumber daya melalui API.

6. Revoking Tokens

Sanctum memungkinkan Anda untuk mencabut atau mengakhiri token autentikasi pengguna, sehingga menghentikan akses yang tidak diinginkan.

7. Scoping

Anda dapat mengatur batasan dan cakupan (scope) untuk token autentikasi. Ini memungkinkan Anda mengontrol hak akses pengguna ke sumber daya tertentu dalam aplikasi Anda.

Selain itu, masih banyak fitur kunci lain yang ada dalam Laravel Sanctum. Fitur tersebut seperti, Mengintegrasikan Dengan Middleware, OAuth2 dan SPA Support, hingga Customization.

Dengan fitur-fitur ini, Sanctum memberikan alat yang kuat untuk mengelola autentikasi dan otorisasi dalam aplikasi web Laravel Anda, terutama ketika Anda memiliki API yang perlu diakses oleh pengguna secara aman.

Baca juga : Laravel Adalah: Pengertian, Tools Andalan & Kelebihannya

Cara Mengintegrasikan Laravel Sanctum dalam Aplikasi Web

Dalam panduan ini, kami akan membahas langkah-demi-langkah bagaimana Anda dapat mengintegrasikan Sanctum ke dalam proyek untuk melindungi API dan memastikan hanya pengguna yang sah yang dapat mengakses sumber daya.

1. Memulai Proyek Laravel

Langkah pertama adalah memastikan Anda memiliki proyek Laravel yang sedang berjalan. Jika belum, Anda dapat membuatnya dengan perintah berikut:

composer create-project –prefer-dist laravel/laravel nama-proyek-anda

Gantilah “nama-proyek-anda” di atas menggunakan nama sesuai dengan yang Anda inginkan.

 2. Instalasi Laravel Sanctum

Setelah Anda memiliki proyek Laravel yang berjalan, langkah berikutnya adalah menginstal Sanctum. Gunakan Composer untuk menginstalnya dengan perintah:

composer require laravel/sanctum

3. Persiapan Database

Sanctum membutuhkan tabel database untuk menyimpan token autentikasi. Untuk membuat tabel ini, jalankan perintah migrasi:

php artisan vendor:publish –tag=sanctum-migrations

php artisan migrate

4. Konfigurasi Sanctum

Selanjutnya, Anda perlu mengkonfigurasi Sanctum dalam proyek Anda. Buka file `config/sanctum.php` dan sesuaikan pengaturan sesuai dengan kebutuhan.

5. Mendaftarkan Middleware

Tambahkan middleware Sanctum ke dalam aplikasi Anda. Buka file `app/Http/Kernel.php` dan tambahkan `\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class` ke dalam `$middlewareGroups`:

‘api’ => [ EnsureFrontendRequestsAreStateful::class,

    ‘throttle:api’,

    \Illuminate\Routing\Middleware\SubstituteBindings::class,],

 6. Mendaftarkan Otorisasi

Sekarang, Anda perlu mendaftarkan otorisasi Laravel Sanctum dalam model pengguna. Buka model pengguna (biasanya ada di `app/Models/User.php`) dan tambahkan trait `HasApiTokens`:

use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable

{ use HasApiTokens;}

7. Membuat API Routes

Selanjutnya, buat API routes yang akan digunakan untuk autentikasi dan mengakses sumber daya melalui API. Anda dapat menentukan route ini dalam file `routes/api.php`.

Contoh route untuk mendapatkan token:

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Route;

 

Route::middleware(‘auth:sanctum’)->get(‘/user’, function (Request $request) { return $request->user();});

Baca juga : Install Laravel : Panduan Lengkap Cara Install Laravel

8. Menggunakan Sanctum di Aplikasi Anda

Kini, aplikasi Anda telah diintegrasikan dengan Laravel Sanctum. Anda dapat menggunakan fitur autentikasi API, seperti pembuatan token dan otentikasi pengguna melalui token, sesuai dengan kebutuhan aplikasi.

Contoh membuat token:

$token = $user->createToken(‘nama-token-anda’)->plainTextToken;

9. Testing dan Debugging

Terakhir, pastikan Anda melakukan pengujian menyeluruh dan debugging untuk memastikan semuanya berjalan sesuai yang diharapkan. Gunakan perintah `php artisan` untuk mengelola token, pengguna, dan menjalankan pengujian.

Kesimpulan

Dengan langkah-langkah ini, Anda telah berhasil mengintegrasikan Laravel Sanctum ke dalam aplikasi web Laravel Anda. Anda sekarang memiliki alat yang kuat untuk mengamankan API dan mengelola autentikasi pengguna secara efisien, serta mengembangkan aplikasi web yang aman.

Anda dapat mengikuti kursus Laravel di Course-Net. Dengan bimbingan Coach profesional, Anda akan semakin mahir untuk membuat website!

Mau Ikut Kursus Di Course-Net? Lihat Jadwal Kelas Selangkapnya.

Kerja udh lama tapi karir masih stuck disitu-situ aja ? Atau udh coba ikut kursus, tapi malah isinya teori aja ? Tenang, Course-net punya solusinya. Anda akan didamping langsung oleh Coach Praktisi Aktif kelas dunia. Berminat ? Yuk Konsultasi sekarang juga.

Tags

Artikel Terkait

Facebook
Twitter
LinkedIn
Pinterest
Tumblr
Telegram
WhatsApp
Email
Print

Subscribe Sekarang!

Dapatkan berita & artikel terbaru seputar IT Gratis!