Langkah 1: Instalasi Laravel dan Library Keycloak-Guard
- Buat proyek Laravel baru dengan perintah
laravel new namaproyek
. - Masuk ke direktori proyek dengan perintah
cd namaproyek
. - Instal library Keycloak-Guard dengan Composer menggunakan perintah
composer require laravel/keycloak-guard
.
Langkah 2: Konfigurasi Keycloak
- 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.
- Buka file
config/auth.php
dan ubah driver ke'keycloak'
:
arduino
'guards' => [
'api' => [
'driver' => 'keycloak',
'provider' => 'users',
],
],
- 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
- Jalankan perintah
php artisan migrate
untuk membuat tabel pengguna default Laravel.
Langkah 4: Routing dan Implementasi Autentikasi
- 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
- Jalankan aplikasi Laravel dengan perintah
php artisan serve
. - Buka Postman atau alat serupa untuk menguji API.
- Buat permintaan GET ke
http://localhost:8000/api/user
dan atur header Authorization dengan nilaiBearer <access_token>
. Gantilah<access_token>
dengan token akses yang diterima setelah autentikasi Keycloak. - 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.