PHPackages                             sksso/sdklrvlsso - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. sksso/sdklrvlsso

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

sksso/sdklrvlsso
================

SDK SSO Smartkampung Banyuwangi

v1.0.5(2y ago)4561MITPHPPHP &gt;=7.4

Since Oct 14Pushed 2y ago1 watchersCompare

[ Source](https://github.com/larose89/SK-SSO)[ Packagist](https://packagist.org/packages/sksso/sdklrvlsso)[ RSS](/packages/sksso-sdklrvlsso/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

[![PHP Composer](https://github.com/larose89/SK-SSO/actions/workflows/php.yml/badge.svg)](https://github.com/larose89/SK-SSO/actions/workflows/php.yml)[![Psalm Security Scan](https://github.com/larose89/SK-SSO/actions/workflows/psalm.yml/badge.svg)](https://github.com/larose89/SK-SSO/actions/workflows/psalm.yml)

Dokumentasi SDK SSO Smartkampung untuk Web PHP dengan DB MySQL
==============================================================

[](#dokumentasi-sdk-sso-smartkampung-untuk-web-php-dengan-db-mysql)

1. Deskripsi
------------

[](#1deskripsi)

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
-----------------------------

[](#2-alur-autentikasi-login-sso)

[![auth_sso](https://private-user-images.githubusercontent.com/6192277/275416447-639f54e1-1a67-4c3a-bfa5-59ee8fce6735.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMjQ3MDcsIm5iZiI6MTc3NTEyNDQwNywicGF0aCI6Ii82MTkyMjc3LzI3NTQxNjQ0Ny02MzlmNTRlMS0xYTY3LTRjM2EtYmZhNS01OWVlOGZjZTY3MzUuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDJUMTAwNjQ3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjNjOTZiMTNiNDZlMTA4ZWU2MjU2NGFiNzg0M2E0OTdhMjhjMmU0NDllZjNhNDRhNTIxY2U0ODRlYWU0M2ZkYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.9Q1EtFpJSI5gAw4BeRcxvOjDpvWcishmbDPSccTQjSY)](https://private-user-images.githubusercontent.com/6192277/275416447-639f54e1-1a67-4c3a-bfa5-59ee8fce6735.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMjQ3MDcsIm5iZiI6MTc3NTEyNDQwNywicGF0aCI6Ii82MTkyMjc3LzI3NTQxNjQ0Ny02MzlmNTRlMS0xYTY3LTRjM2EtYmZhNS01OWVlOGZjZTY3MzUuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDJUMTAwNjQ3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjNjOTZiMTNiNDZlMTA4ZWU2MjU2NGFiNzg0M2E0OTdhMjhjMmU0NDllZjNhNDRhNTIxY2U0ODRlYWU0M2ZkYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.9Q1EtFpJSI5gAw4BeRcxvOjDpvWcishmbDPSccTQjSY)

### Keterangan:

[](#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
----------------

[](#3-instalasi-sdk)

Untuk instalasi SDK ini, gunakanlah composer. Buka command promp/terminal, masuk ke direktori utama projek anda, dengan menjalankan perintah berikut:

```
composer require sksso/sdklrvlsso

```

4. Konfigurasi
--------------

[](#4-konfigurasi)

### A. Import SDK

[](#a-import-sdk)

Isikan kode dibawah ini untuk mengimport SDK di bagian use statements pada class controller. use sksso\\SDKlrvlSSO;

### B. Set Environment

[](#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-&gt;sdkSSO = new SDKlrvlSSO()*** di bagian atas kode, misalkan dimasukkan kedalam method konstruktor, seperti berikut

```
private $sdkSSO;

public function __construct() {
    //inisialisasi konfigurasi SSO
    $this->sdkSSO = new SDKlrvlSSO();
    $this->sdkSSO->setEnv([ALIAS_ID], [SECRET_KEY_BODY], [SECRET_KEY_URL]);
    ....
```

### C. Login Page

[](#c-login-page)

Untuk mengarahkan ke halaman login SSO, gunakan kode berikut

```
$this->sdkSSO->loginPage();
```

### D. Set Konfigurasi Database

[](#d-set-konfigurasi-database)

Anda dapat meng set koneksi database MySQL dengan kode berikut

```
$this->sdkSSO->setDbConfig([HOST], [DB_USER], [DB_PASS], [DB_NAME]);
```

### E. Sinkronisasi Tabel Database

[](#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)   email 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   email   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   email email   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

```
$dataTable =
        [
            "nama_table" => "users",
            "user_key" => "nik",
            "field_table" => [
                "id" => NULL,
                "username" => NULL,
                "password" => NULL,
                "nama_lengkap" => "name",
                "alamat" => NULL,
                "email" => "email",
                "nik" => "nik",
                "created_by" => NULL,
                "created_date" => "created_at"
            ]
        ];
```

Masukkan data array diatas kedalam fungsi berikut

```
$this->sdkSSO->syncDbTable($dataTable);
```

Berikut kutipan gabungan kode script dari tahapan-tahapan diatas

```
use sksso\SDKlrvlSSO;

class NamaController extends Controller
{
private $sdkSSO;

public function __construct() {
    //inisialisasi konfigurasi SSO
    $this->sdkSSO = new SDKlrvlSSO();
          $dataTable =
         [
            "nama_table" => "users",
            "user_key" => "nik",
            "field_table" => [
                "id" => NULL,
                "username" => NULL,
                "password" => NULL,
                "nama_lengkap" => "name",
                "alamat" => NULL,
                "email" => "email",
                "nik" => "nik",
                "created_by" => NULL,
                "created_date" => "created_at"
            ]
    ];
    $this->sdkSSO->setEnv([ALIAS_ID], [SECRET_KEY_BODY], [SECRET_KEY_URL]);
    $this->sdkSSO->setDbConfig([HOST], [DB_USER], [DB_PASS], [DB_NAME]);
    $this->sdkSSO->syncDbTable($dataTable);
}
```

5. Penggunaan SDK
-----------------

[](#5-penggunaan-sdk)

### A. Ekstrak Data Kredensial

[](#a-ekstrak-data-kredensial)

Buatlah method di controller untuk menerima dan meng ekstrak data **\_POST** kredensial yang dikirim dari server SSO. Berikut contoh kodenya

```
    public function ekstrakData(){
        $data = file_get_contents('php://input');

        return $this->sdkSSO->ekstrakDataCredentials($data);
    }
```

Beritahukan ke admin SSO, url endpoint dari method diatas, supaya dapat diakses dari server SSO

### B. Cek Validasi Tiket

[](#b-cek-validasi-tiket)

Buatlah method di controller untuk menerima data **\_GET** tiket yang dikirim dari server SSO. Berikut contoh kodenya

```
    public function login(Request $request, $param){
        $dataUsers = $this->sdkSSO->cekTiket($param);
        if($dataUsers) //output data kredensial pengguna format array
        {
            Auth::loginUsingId($dataUsers['id']); //auth login by ID
            return redirect()->route('home'); //kondisi setelah user dapat login
        }
    }
```

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

[](#c-logout)

Berikut merupakan kode script untuk perintah logout user

```
 $this->sdkSSO->logout();
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

5

Last Release

927d ago

PHP version history (2 changes)1.0.1PHP &gt;=7.4

v1.0.4PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/70dad9198d139609bb7a75fe929ad3d92ef1e7e3c0c8be149ea38962b91345f0?d=identicon)[larose89](/maintainers/larose89)

---

Top Contributors

[![larose89](https://avatars.githubusercontent.com/u/6192277?v=4)](https://github.com/larose89 "larose89 (41 commits)")

### Embed Badge

![Health badge](/badges/sksso-sdklrvlsso/health.svg)

```
[![Health](https://phpackages.com/badges/sksso-sdklrvlsso/health.svg)](https://phpackages.com/packages/sksso-sdklrvlsso)
```

###  Alternatives

[overtrue/socialite

A collection of OAuth 2 packages.

1.4k5.5M86](/packages/overtrue-socialite)[josiasmontag/laravel-recaptchav3

Recaptcha V3 for Laravel package

2641.6M2](/packages/josiasmontag-laravel-recaptchav3)[rahul900day/laravel-captcha

Different types of Captcha implementation for Laravel Application.

10715.9k](/packages/rahul900day-laravel-captcha)[simplesamlphp/simplesamlphp-module-oidc

A SimpleSAMLphp module adding support for the OpenID Connect protocol

5016.9k1](/packages/simplesamlphp-simplesamlphp-module-oidc)[kinde-oss/kinde-auth-php

Kinde PHP SDK for authentication

2369.5k3](/packages/kinde-oss-kinde-auth-php)[descope/descope-php

Descope SDK for PHP

3814.0k](/packages/descope-descope-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
