Configuration
| Versi | Tanggal | Aktor | Keterangan |
|---|---|---|---|
| v1.0 | 05/Mar/2025 | Rd Fakhri Fadhlan Dantiano | Konten |
Persiapan Integrasi
Konfigurasi disini mengacu pada persiapan dalam inisialisasi Key yang diberikan pihak GoFluent dan kebutuhan tambahan dalam helper, kemudian Controller melakukan pengolahan konfigurasi tersebut sebagai logic, tentu nantinya akan penulis jelaskan di Artikel berikutnya bagian Backend.
File Config
Agar inisialisasi key serta endpoint mudah diatur, file config menjadi andalan untuk menampung itu semua, file tersebut anda bisa lihat di folder config letaknya menjadi satu bagian dengan folder project modules yakni Learning.
DirectoryAplication
DirectoryModules
Directorylearning
Directoryconfig
- gofluent_config.php
- controllers
- …
- …
Fungsi dan tujuannya key serta spesifikasi lainnya untuk kepentingan authentification saat melakukan pengiriman data pegawai ke backend GoFluent di dalam proses SSO, sehingga GoFluent mengenali bahwa data yang dikirimkan adalah milik PT. Pelni (Persero).
$config['GOFLUENT_SSO_KEY'] = '81e2b46b2e281975';$config['GOFLUENT_SSO_IV'] = '92363f33mynvfLaA';$config['GOFLUENT_SSO_ALGO'] = 'AES-128-CBC';$config['GOFLUENT_SSO_URL'] = 'https://portal.gofluent.com/api/v1.0/sso/connect';$config['GOFLUENT_SSO_ID'] = 'paramPelni';$config['GOFLUENT_PROVIDER_ID'] = 'SSOPelni';secret_keydan custom_iv dibuat dari kesepakatan bersama antara PT. Pelni dan GoFluent. Berikut adalah email terlampir bentuk kesepakatan dalam menentukan Key dan IV nya, disepakati pada tanggal 18-10-2024.

File Helper
DirectoryAplication
Directorycontrollers
- core
Directoryhelpers
- gofluent_helper.php
- …
- …
- …
Di dalam helper terdapat Function encrypt_gofluent untuk mengenskripsi sebuah string menggunakan algoritma OpenSSL.
function encrypt_gofluent($string, $algo = null, $secret_key = null, $custom_iv = null) { return strtoupper(bin2hex(openssl_encrypt($string, $algo, $secret_key, OPENSSL_RAW_DATA, $custom_iv))); }- $string → Data json yang telah diconvert menjadi string dan siap dienkripsi.
- $algo → Algoritma enkripsi yang digunakan (disini: ‘AES-256-CBC’).
- $secret_key → Kunci rahasia yang digunakan untuk proses enkripsi
- $custom_iv → Kuci rahasia Vector (IV) sebagai pengaman tambahan pada enskripsi.