Download the PHP package sksso/smartsso-postgresql without Composer
On this page you can find all versions of the php package sksso/smartsso-postgresql. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package smartsso-postgresql
Dokumentasi SDK SSO Smartkampung untuk Web PHP dengan DB PostgreSQL
1. Deskripsi
SDK SSO ini memungkinkan integrasi yang mudah dengan layanan SSO (Single Sign-On) Smartkampung. Dengan SDK ini, aplikasi dapat dengan mudah memvalidasi dan mengelola autentikasi pengguna melalui SSO Smartkampung.
2. Alur Autentikasi Login SSO
Keterangan:
A. Redirect Login
Redirect ke halaman login SSO.
B. Ekstrak Data
Mengekstrak data kredensial dari server SSO yang sebelumnya data sudah di enkripsi.
C. Get Tiket
Menerima tiket login berupa data enkripsi dari server SSO dengan menggunakan method GET Request.
D. Validasi Tiket
Mevalidasi tiket login yang sebelumnya sudah diterima dari server SSO.
E. Login Auth By ID
Jika tiket valid, maka dilanjut ke proses auth login yang dari bawaan web framework masing-masing tetapi dengan menggunakan metode login by ID user tanpa menggunakan password, dikarenakan bagian login ini tanpa menggunakan password, demi keamanan website, maka daripada itu untuk fungsi auth login ini jadikanlah dalam satu method di controller untuk proses pada poin C,D,E diatas.
F. User Logout
Mengirim data session user ke server SSO untuk dilakukannya proses logout di server
3. Instalasi SDK
Untuk instalasi SDK ini, gunakanlah composer. Buka command promp/terminal, masuk ke direktori utama projek anda, dengan menjalankan perintah berikut:
4. Konfigurasi
A. Import SDK
Isikan kode dibawah ini untuk mengimport SDK di bagian use statements pada class controller. use sksso\SDKlrvlSSO;
B. Set Environment
Parameter | Value |
ALIAS_ID | Untuk mendapatkannya hubungi admin SSO |
SECRET_KEY_BODY | Untuk mendapatkannya hubungi admin SSO |
SECRET_KEY_URL | Untuk mendapatkannya hubungi admin SSO |
Masukkan value dari parameter environment diatas kedalam fungsi setEnv() yang anda letakkan di controller, sebelumnya anda harus menginisialisasikan kode ini $this->sdkSSO = new SDKlrvlSSO() di bagian atas kode, misalkan dimasukkan kedalam method konstruktor, seperti berikut
C. Login Page
Untuk mengarahkan ke halaman login SSO, gunakan kode berikut
D. Set Konfigurasi Database
Anda dapat meng set koneksi database MySQL dengan kode berikut
E. Sinkronisasi Tabel Database
Sebelum melakukan sinkronisasi tabel database dengan parameter data array yang dikirim oleh server SSO, anda harus mengetahui terlebih dahulu nama-nama parameter yang akan disinkronkan dengan nama-nama kolom pada tabel user/pengguna yang sudah tersedia di database anda, berikut parameter dari server SSO
Nama Parameter | Type |
nama | VARCHAR(50) |
phone | VARCHAR(20) |
VARCHAR(100) | |
nik | VARCHAR(20) |
created_at | DATETIME |
Dalam kasus ini misalkan nama-nama kolom di tabel user yang ada di database anda seperti berikut ini
Nama Kolom |
id |
username |
password |
nama_lengkap |
alamat |
nik |
created_by |
created_date |
Untuk nama-nama kolom tabel wajib ditulis/dimasukkan semua yang ada di tabel database untuk disinkronkan. Sinkronisasi/selaraskan nama-nama kolom tabel diatas dengan nama-nama parameter array dari server SSO, seperti contoh berikut ini
Nama Kolom Tabel | Nama Parameter SSO |
id | NULL |
username | NULL |
password | NULL |
nama_lengkap | nama |
alamat | NULL |
nik | nik |
created_by | NULL |
created_date | created_at |
Jika tabel sudah disinkronisasikan maka rubah data tabel diatas ke bentuk array dengan key
- nama_table(isikan nilai dengan nama tabel dari tabel yang digunakan untuk disinkronkan),
- user_key(diisikan dengan salah satu nama parameter berikut: nik,email,phone), dan
- field_table(isikan dengan data array dari data tabel sinkronisasi data diatas)
berikut contoh data arraynya
Masukkan data array diatas kedalam fungsi berikut
Berikut kutipan gabungan kode script dari tahapan-tahapan diatas
5. Penggunaan SDK
A. Ekstrak Data Kredensial
Buatlah method di controller untuk menerima dan meng ekstrak data _POST kredensial yang dikirim dari server SSO. Berikut contoh kodenya
Beritahukan ke admin SSO, url endpoint dari method diatas, supaya dapat diakses dari server SSO
B. Cek Validasi Tiket
Buatlah method di controller untuk menerima data _GET tiket yang dikirim dari server SSO. Berikut contoh kodenya
Beritahukan ke admin SSO, url endpoint dari method diatas, supaya dapat diakses dari server SSO.
Dari kode script diatas untuk baris ini Auth::loginUsingId($dataUsers['id']); ini merupakan fungsi dari Laravel(untuk framework lain bisa menyesuaikan), metode ini berfungsi untuk melakukan autentikasi login berdasarkan ID pengguna tanpa memerlukan password.
C. Logout
Berikut merupakan kode script untuk perintah logout user