Api Authentication Laravel 9

4 min read Jun 28, 2024
Api Authentication Laravel 9

API Authentication di Laravel 9

Laravel menyediakan berbagai metode untuk mengamankan API Anda. Di Laravel 9, Anda dapat menggunakan Sanctum dan Passport untuk mengelola autentikasi API. Berikut adalah panduan lengkap mengenai kedua metode tersebut:

Sanctum

Sanctum merupakan solusi yang ringan dan sederhana untuk mengotentikasi API. Ideal untuk aplikasi yang membutuhkan proses autentikasi yang simpel, seperti aplikasi web tunggal (SPA) atau aplikasi mobile.

Cara menggunakan Sanctum:

  1. Instal Sanctum:

    composer require laravel/sanctum
    
  2. Publikasikan aset Sanctum:

    php artisan vendor:publish --tag=sanctum-config
    php artisan vendor:publish --tag=sanctum-migrations
    
  3. Jalankan migrasi:

    php artisan migrate
    
  4. Buat token API:

    // Dalam Controller Anda
    $user = User::find(1); 
    
    $token = $user->createToken('my-token')->plainTextToken;
    
    // Kirim token kepada client
    return response()->json(['token' => $token]);
    
  5. Gunakan token API untuk mengakses API Anda:

    // Tambahkan token ke header Authorization
    Authorization: Bearer 
    

Kelebihan Sanctum:

  • Mudah digunakan: Sanctum mudah diimplementasikan dan dikonfigurasi.
  • Ringan: Sanctum memiliki footprint yang kecil, sehingga cocok untuk aplikasi yang membutuhkan performa tinggi.
  • Fleksibel: Sanctum memungkinkan Anda untuk mengelola token API dengan mudah.

Kekurangan Sanctum:

  • Tidak memiliki fitur yang kompleks: Sanctum tidak mendukung fitur-fitur kompleks seperti OAuth 2.0.

Passport

Passport merupakan solusi lengkap untuk mengotentikasi API, yang menyediakan fitur-fitur seperti OAuth 2.0 dan OpenID Connect. Ideal untuk aplikasi yang membutuhkan fitur keamanan yang lebih kompleks, seperti aplikasi multi-platform atau aplikasi yang memerlukan integrasi dengan layanan pihak ketiga.

Cara menggunakan Passport:

  1. Instal Passport:

    composer require laravel/passport
    
  2. Publikasikan aset Passport:

    php artisan vendor:publish --tag=passport-config
    php artisan vendor:publish --tag=passport-migrations
    
  3. Jalankan migrasi:

    php artisan migrate
    
  4. Buat kunci rahasia dan direktori penyimpanan token:

    php artisan passport:install
    
  5. Konfigurasi Passport:

    • Pengaturan database: Konfigurasikan database untuk menyimpan token dan informasi autentikasi.
  • Pengaturan redirect URI: Konfigurasikan URL redirect untuk proses autentikasi.
  • Pengaturan client: Konfigurasikan aplikasi client yang akan menggunakan API Anda.
  1. Gunakan Passport untuk mengotentikasi API:
    • Client application: Gunakan library OAuth 2.0 untuk mengakses API Anda.
    • Server application: Gunakan middleware Passport untuk melindungi rute API Anda.

Kelebihan Passport:

  • Fitur lengkap: Passport menyediakan fitur-fitur lengkap untuk mengelola autentikasi API.
  • Keamanan: Passport mendukung standar keamanan OAuth 2.0.
  • Fleksibel: Passport memungkinkan Anda untuk mengelola berbagai client dan scope.

Kekurangan Passport:

  • Kompleks: Passport lebih kompleks untuk diimplementasikan dan dikonfigurasi dibandingkan dengan Sanctum.

Kesimpulan

Pilihan antara Sanctum dan Passport tergantung pada kebutuhan Anda. Jika Anda membutuhkan solusi yang sederhana dan ringan, Sanctum adalah pilihan yang tepat. Jika Anda membutuhkan solusi yang lengkap dan aman, Passport adalah pilihan yang lebih baik.