SSO Laravel API + Keycloack

Langkah 1: Instalasi Laravel dan Library Keycloak-Guard

  1. Buat proyek Laravel baru dengan perintah laravel new namaproyek.
  2. Masuk ke direktori proyek dengan perintah cd namaproyek.
  3. Instal library Keycloak-Guard dengan Composer menggunakan perintah composer require laravel/keycloak-guard.

Langkah 2: Konfigurasi Keycloak

  1. Buka file .env dan tambahkan konfigurasi Keycloak berikut ini:
makefile
KEYCLOAK_SERVER_URL=https://alamat-keycloak/auth
KEYCLOAK_REALM=nama-realm
KEYCLOAK_CLIENT_ID=nama-client
KEYCLOAK_CLIENT_SECRET=rahasia-client

Pastikan untuk mengganti nilai-nilai sesuai dengan konfigurasi Keycloak Anda.

  1. Buka file config/auth.php dan ubah driver ke 'keycloak':
arduino
'guards' => [
    'api' => [
        'driver' => 'keycloak',
        'provider' => 'users',
    ],
],
  1. Tambahkan konfigurasi Keycloak ke dalam file config/services.php:
bash
'keycloak' => [
    'base_url' => env('KEYCLOAK_SERVER_URL'),
    'realm' => env('KEYCLOAK_REALM'),
    'client_id' => env('KEYCLOAK_CLIENT_ID'),
    'client_secret' => env('KEYCLOAK_CLIENT_SECRET'),
],

Langkah 3: Migrasi Database dan Routing

  1. Jalankan perintah php artisan migrate untuk membuat tabel pengguna default Laravel.

Langkah 4: Routing dan Implementasi Autentikasi

  1. Buka file routes/api.php dan tambahkan rute berikut ini sebagai contoh:
php
Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Route::middleware('auth:api')->get('/protected', function () {
    return response()->json([
        'message' => 'This is a protected route.',
    ]);
});

Langkah 5: Uji Autentikasi

  1. Jalankan aplikasi Laravel dengan perintah php artisan serve.
  2. Buka Postman atau alat serupa untuk menguji API.
  3. Buat permintaan GET ke http://localhost:8000/api/user dan atur header Authorization dengan nilai Bearer <access_token>. Gantilah <access_token> dengan token akses yang diterima setelah autentikasi Keycloak.
  4. Anda harus menerima respons JSON yang berisi informasi pengguna terautentikasi.

Dengan langkah-langkah di atas, aplikasi Laravel API Anda harus terhubung dengan Keycloak dan mampu melakukan autentikasi menggunakan Keycloak. Pastikan untuk mengganti nilai-nilai konfigurasi dengan yang sesuai dengan konfigurasi Keycloak Anda.

hyvercode

Leave a Reply

Your email address will not be published. Required fields are marked *